-- liquibase formatted sql
-- changeset contact@liuxp.me:20220818_ddl_init_table

INSERT INTO base_dictionary VALUES (1, 'STATUS', '状态', '0', '停用', 1, '2018-06-12 14:49:53', '系统用户', '2018-06-12 16:34:03', '系统用户', 0);
INSERT INTO base_dictionary VALUES (2, 'STATUS', '状态', '1', '启用', 1, '2018-06-12 15:31:08', '系统用户', '2018-06-12 15:31:08', '系统用户', 0);
INSERT INTO base_dictionary VALUES (5, 'MENU_TYPE', '菜单类别', '0', '路径', 1, '2018-06-26 17:22:48', '系统用户', '2018-06-26 17:22:48', '系统用户', 0);
INSERT INTO base_dictionary VALUES (6, 'MENU_TYPE', '菜单类别', '1', '菜单', 1, '2018-06-26 17:23:08', '系统用户', '2018-06-26 17:23:08', '系统用户', 0);
INSERT INTO base_dictionary VALUES (7, 'MENU_LEVEL', '菜单级别', '0', '一级菜单', 1, '2018-06-26 17:39:17', '系统用户', '2018-06-26 17:39:17', '系统用户', 0);
INSERT INTO base_dictionary VALUES (8, 'MENU_LEVEL', '菜单级别', '1', '二级菜单', 1, '2018-06-26 17:39:28', '系统用户', '2018-06-26 17:39:56', '系统用户', 0);
INSERT INTO base_dictionary VALUES (9, 'MENU_LEVEL', '菜单级别', '2', '三级菜单', 1, '2018-06-26 17:39:45', '系统用户', '2018-06-26 17:39:45', '系统用户', 0);
INSERT INTO base_dictionary VALUES (10, 'USER_SEX', '性别', '0', '未填写', 0, '2018-06-27 15:59:29', '系统用户', '2021-12-27 13:45:41', '刘小平', 0);
INSERT INTO base_dictionary VALUES (11, 'USER_SEX', '性别', '1', '男', 1, '2018-06-27 15:59:42', '系统用户', '2018-06-27 15:59:42', '系统用户', 0);
INSERT INTO base_dictionary VALUES (12, 'USER_SEX', '性别', '2', '女', 1, '2018-06-27 15:59:52', '系统用户', '2018-06-27 15:59:52', '系统用户', 0);
INSERT INTO base_dictionary VALUES (13, 'DATASOURCE_TYPE', '数据源类型', 'MySQL', 'MySQL', 1, '2021-12-27 13:41:38', '刘小平', '2021-12-27 13:41:38', '刘小平', 0);
INSERT INTO base_dictionary VALUES (14, 'DATASOURCE_TYPE', '数据源类型', 'Oracle', 'Oracle', 1, '2021-12-27 13:41:50', '刘小平', '2021-12-27 13:41:50', '刘小平', 0);
INSERT INTO base_dictionary VALUES (15, 'DATASOURCE_TYPE', '数据源类型', 'SQLServer', 'SQLServer', 1, '2021-12-27 13:42:01', '刘小平', '2021-12-27 13:42:01', '刘小平', 0);
INSERT INTO base_dictionary VALUES (16, 'DATASOURCE_TYPE', '数据源类型', 'ClickHouse', 'ClickHouse', 0, '2021-12-27 13:43:02', '刘小平', '2021-12-27 13:43:02', '刘小平', 0);


INSERT INTO base_menu VALUES (1, 'DEVELOP', '开发工具', NULL, '', 'icon mdi fa fa-wrench fa-fw', 0, 0, NULL, 0, NULL, '2018-06-26 17:15:08', '系统用户', '2018-06-28 10:25:22', '系统用户', 0);
INSERT INTO base_menu VALUES (2, 'DEVELOP_GENERATOR', '代码生成', NULL, '#biz/generator/generator', 'icon mdi fa fa-code fa-fw', 1, 0, NULL, 0, NULL, '2018-06-28 10:02:30', '系统用户', '2021-12-27 13:38:17', '刘小平', 0);
INSERT INTO base_menu VALUES (3, 'DEVELOP_MAPPING', '数据类型映射', NULL, '#biz/generator/mapping/generator_config_mapping_list', 'icon mdi fa fa-clone fa-fw', 1, 1, NULL, 50, NULL, '2018-06-28 10:05:55', '系统用户', '2021-12-27 13:38:33', '刘小平', 0);
INSERT INTO base_menu VALUES (5, 'BASIC', '系统数据', NULL, '', 'icon mdi fa fa-building fa-fw', 0, 0, NULL, 0, NULL, '2018-06-28 10:26:38', '系统用户', '2021-01-04 11:28:32', '刘小平', 0);
INSERT INTO base_menu VALUES (6, 'BASIC_DICTIONARY_NORMAL', '数据字典', NULL, '#biz/basic/base/dictionary/dictionary_list', 'icon mdi fa fa-book fa-fw', 1, 1, NULL, 5, NULL, '2018-06-28 10:29:08', '系统用户', '2020-01-30 12:09:35', '刘小平', 0);
INSERT INTO base_menu VALUES (7, 'BASIC_USER', '用户管理', NULL, '#biz/basic/base/user/user_list', 'icon mdi fa fa-user fa-fw', 1, 1, NULL, 5, NULL, '2018-06-28 10:31:14', '系统用户', '2018-06-28 10:31:14', '系统用户', 0);
INSERT INTO base_menu VALUES (8, 'BASIC_ROLE', '角色管理', NULL, '#biz/basic/base/role/role_list', 'icon mdi fa fa-user-secret fa-fw', 1, 1, NULL, 5, NULL, '2018-06-28 10:32:29', '系统用户', '2018-06-28 10:32:29', '系统用户', 0);
INSERT INTO base_menu VALUES (9, 'BASIC_MENU', '菜单管理', NULL, '#biz/basic/base/menu/menu_list', 'icon mdi fa fa-bars fa-fw', 1, 1, NULL, 5, NULL, '2018-06-28 10:33:00', '系统用户', '2018-06-28 10:33:00', '系统用户', 0);
INSERT INTO base_menu VALUES (48, 'DEVELOP_GROUP', '模板管理', NULL, '#biz/generator/config/group/generator_config_group_list', 'icon mdi fa fa-file-code-o fa-fw', 1, 1, NULL, 50, NULL, '2020-12-30 16:56:08', '刘小平', '2021-01-04 15:24:00', '刘小平', 0);
INSERT INTO base_menu VALUES (49, 'DEVELOP_DATASOURCE', '数据源配置', NULL, '#biz/generator/config/datasource/generator_config_datasource_list', 'icon mdi fa fa-database fa-fw', 1, 1, NULL, 50, NULL, '2020-12-31 11:52:31', '刘小平', '2021-01-04 15:32:07', '刘小平', 0);
INSERT INTO base_menu VALUES (50, 'CONFIG', '规则配置', NULL, '', 'icon mdi fa fa-cog fa-fw', 0, 0, NULL, 0, NULL, '2020-12-31 11:54:20', '刘小平', '2021-12-27 13:37:44', '刘小平', 0);


INSERT INTO base_role VALUES (1, '超级管理员', '拥有全部菜单', 1, '2018-06-27 15:01:06', '系统用户', '2021-12-07 13:22:03', '刘小平', 0);
INSERT INTO base_role VALUES (3, '注册用户', '代码生成功能', 1, '2018-06-28 09:43:33', '系统用户', '2020-12-12 11:23:21', '刘小平', 0);


INSERT INTO base_role_menu_rel VALUES (1, 1, 1, '2018-06-28 15:37:11', '系统用户', '2021-12-27 13:39:08', '刘小平', 1);
INSERT INTO base_role_menu_rel VALUES (2, 1, 2, '2018-06-28 15:37:11', '系统用户', '2018-06-28 15:37:11', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (3, 1, 3, '2018-06-28 15:37:11', '系统用户', '2018-06-28 15:37:11', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (5, 1, 5, '2018-06-28 15:37:57', '系统用户', '2018-06-28 15:37:57', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (6, 1, 6, '2018-06-28 15:37:57', '系统用户', '2018-06-28 15:37:57', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (7, 1, 7, '2018-06-28 15:37:57', '系统用户', '2018-06-28 15:37:57', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (8, 1, 8, '2018-06-28 15:37:57', '系统用户', '2018-06-28 15:37:57', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (9, 1, 9, '2018-06-28 15:37:57', '系统用户', '2018-06-28 15:37:57', '系统用户', 0);
INSERT INTO base_role_menu_rel VALUES (148, 3, 1, '2020-12-12 11:23:37', '刘小平', '2021-12-27 13:39:03', '刘小平', 1);
INSERT INTO base_role_menu_rel VALUES (149, 3, 2, '2020-12-12 11:23:37', '刘小平', '2020-12-12 11:23:37', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (150, 3, 3, '2020-12-12 11:23:37', '刘小平', '2020-12-12 11:23:37', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (152, 3, 47, '2020-12-30 14:20:34', '刘小平', '2021-01-04 15:28:20', '刘小平', 1);
INSERT INTO base_role_menu_rel VALUES (153, 1, 47, '2020-12-30 14:20:40', '刘小平', '2021-01-04 15:28:16', '刘小平', 1);
INSERT INTO base_role_menu_rel VALUES (154, 1, 48, '2020-12-30 16:56:16', '刘小平', '2020-12-30 16:56:16', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (155, 3, 48, '2020-12-30 16:56:21', '刘小平', '2020-12-30 16:56:21', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (156, 1, 50, '2020-12-31 12:43:15', '刘小平', '2020-12-31 12:43:15', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (157, 1, 49, '2020-12-31 12:43:15', '刘小平', '2020-12-31 12:43:15', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (158, 3, 50, '2020-12-31 12:43:20', '刘小平', '2020-12-31 12:43:20', '刘小平', 0);
INSERT INTO base_role_menu_rel VALUES (159, 3, 49, '2020-12-31 12:43:20', '刘小平', '2020-12-31 12:43:20', '刘小平', 0);


INSERT INTO base_role_user_rel VALUES (3, 3, 3, '2018-06-28 09:52:16', '系统用户', '2018-06-28 09:52:16', '系统用户', 0);
INSERT INTO base_role_user_rel VALUES (4, 1, 3, '2018-06-28 09:52:57', '系统用户', '2018-06-28 09:52:57', '系统用户', 0);
INSERT INTO base_role_user_rel VALUES (29, 3, 5, '2020-12-12 11:38:17', 'liuxp2', '2020-12-12 11:38:17', 'liuxp2', 0);
INSERT INTO base_role_user_rel VALUES (30, 3, 6, '2021-01-04 15:29:46', 'test1', '2021-01-04 15:29:46', 'test1', 0);
INSERT INTO base_role_user_rel VALUES (31, 3, 7, '2021-11-17 20:35:25', 'admin', '2021-11-17 20:35:25', 'admin', 0);
INSERT INTO base_role_user_rel VALUES (32, 1, 7, '2021-11-17 20:35:30', '刘小平', '2021-11-17 20:35:30', '刘小平', 0);


INSERT INTO base_user VALUES (3, 'liuxp', '刘小平', '$2a$10$wU9uXTBGaa7dqydOKxAjzeN.kKyk8YUvQ.d.KbT4ubGJSkZy.lw1K', 1, '', '', NULL, '', '1986-09-15', NULL, 1, '2018-02-03 20:11:18', 'liuxp', '2020-11-13 14:51:37', '刘小平', 0);
INSERT INTO base_user VALUES (5, 'liuxp2', 'liuxp2', '$2a$10$vfTRsB0a4hFrCvJLSJd/de9.NVQ6tuV.8FAuH7pwOMUnToC0w4tdu', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-12-12 11:38:17', 'liuxp2', '2020-12-12 11:38:17', 'liuxp2', 0);
INSERT INTO base_user VALUES (6, 'test1', 'test1', '$2a$10$dwsW7RHykqp1hGkVvWUUeO845BF.VGIBIRZAedvRqBpUXHWYGQbOm', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2021-01-04 15:29:46', 'test1', '2021-01-04 15:29:46', 'test1', 0);
INSERT INTO base_user VALUES (7, 'admin', '刘小平', '$2a$10$ikNiSnqeAc4KqkvbQ3ePduLQXz7qiyzzRu.VRSl/T2Xkw.o2tPVdO', 1, NULL, '', NULL, '', NULL, NULL, 1, '2021-11-17 20:35:25', 'admin', '2021-11-17 20:35:25', 'admin', 0);


INSERT INTO generator_config_datasource VALUES (1, '云社区测试环境', 'MySQL', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql://10.10.231.67:3306/gov_cloud_service_finance?characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true', 'root', 'Viewhigh*132', 3, '刘小平', '2021-01-04 11:39:38', '刘小平', '2021-01-04 11:40:00', '刘小平', 0);
INSERT INTO generator_config_datasource VALUES (2, '火查查公网开发数据库', 'MySQL', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql://lxp135.asuscomm.com:3306/disaster_platform_basic?characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai', 'disaster', '123456', 3, '刘小平', '2021-01-08 15:38:53', '刘小平', '2021-01-08 15:38:53', '刘小平', 0);
INSERT INTO generator_config_datasource VALUES (3, '10.0.22.151Oracle', 'Oracle', 'oracle.jdbc.driver.OracleDriver', 'jdbc:oracle:thin:@10.0.22.151:1521:orcl', 'Daping_demo', 'Daping_demo*123', 3, '刘小平', '2021-04-01 17:03:36', '刘小平', '2021-04-01 17:03:36', '刘小平', 0);
INSERT INTO generator_config_datasource VALUES (4, 'SQLServer测试', 'SQLServer', 'com.microsoft.sqlserver.jdbc.SQLServerDriver', 'jdbc:sqlserver://10.0.23.60:1433;DatabaseName=master', 'sa', 'SYviewhigh@123456', 3, '刘小平', '2021-04-06 17:29:04', '刘小平', '2021-04-06 17:29:04', '刘小平', 0);
INSERT INTO generator_config_datasource VALUES (5, '顺义HRP SQLServer', 'SQLServer', 'com.microsoft.sqlserver.jdbc.SQLServerDriver', 'jdbc:sqlserver://10.0.58.31:1433;DatabaseName=hrp332fy1018', 'sa', 'vh_2020', 3, '刘小平', '2021-11-02 17:39:44', '刘小平', '2021-11-02 17:39:44', '刘小平', 0);
INSERT INTO generator_config_datasource VALUES (6, 'localhost', 'MySQL', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql://localhost:3306/alice_code_creator?characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true	', 'root', 'root', 3, '刘小平', '2021-12-07 17:52:23', '刘小平', '2021-12-07 17:52:23', '刘小平', 0);


INSERT INTO generator_config_group VALUES (2, '财务云社区 - 会计核算', '望海政府事业部微服务架构下的财务云社区会计核算服务。', 7, 'contact@liuxp.me', 'com.vh.gov.cloud.finance', 't', 'id', 'created_by,created_time,last_modified_by,last_modified_time,tenant_id', 'is_deleted', 3, '刘小平', 1, '2021-01-04 14:42:25', '刘小平', '2021-01-15 11:44:26', '刘小平', 0);
INSERT INTO generator_config_group VALUES (3, '财务云社区 - 基础平台', '望海政府事业部微服务架构下的财务云社区基础平台服务。', 7, 'contact@liuxp.me', 'com.vh.gov.cloud.platform', 't', 'id', 'created_by,created_time,last_modified_by,last_modified_time', 'is_deleted', 3, '刘小平', 0, '2021-01-04 15:23:10', '刘小平', '2021-01-28 11:34:45', '刘小平', 0);
INSERT INTO generator_config_group VALUES (4, 'ALICE CODECREATOR', '代码生成器自身模板组', 13, 'contact@liuxp.me', 'alice.code.creator', '', 'id', 'create_user,create_time,update_user,update_time', 'is_delete', 3, '刘小平', 1, '2021-01-04 16:33:06', '刘小平', '2021-01-04 16:33:06', '刘小平', 0);
INSERT INTO generator_config_group VALUES (6, '私人云平台 - 基础平台', '私人云平台，基础数据服务', 15, 'contact@liuxp.me', 'org.liuxp.cloud.platform.basic', 'basic', 'id', 'remark,create_user,create_time,update_user,update_time,ts', 'is_delete', 3, '刘小平', 0, '2021-01-14 17:55:00', '刘小平', '2021-01-15 10:11:01', '刘小平', 0);
INSERT INTO generator_config_group VALUES (7, '龙岗报表数据生成', '宽表数据', 1, 'contact@liuxp.me', 'com.vh.gov.cloud.report', '', '', '', '', 3, '刘小平', 0, '2021-03-11 11:53:48', '刘小平', '2021-03-11 11:54:15', '刘小平', 0);
INSERT INTO generator_config_group VALUES (8, '指标库', '指标库', 13, 'contact@liuxp.me', 'com.vh.gov.cloud.indicator', 't', 'id', 'created_by,created_time,last_modified_by,last_modified_time', 'is_deleted', 3, '刘小平', 0, '2021-05-25 12:50:31', '刘小平', '2021-05-25 14:05:16', '刘小平', 0);
INSERT INTO generator_config_group VALUES (9, '顺义数据同步', 'SQLServer数据库，不规范', 6, 'contact@liuxp.me', 'com.vh.gov.cloud.link', '', '', 'comp_code,copy_code', '', 3, '刘小平', 0, '2021-11-02 17:49:23', '刘小平', '2021-11-02 18:39:17', '刘小平', 0);
INSERT INTO generator_config_group VALUES (10, '郑州绩效', '郑州绩效', 1, 'liuxiaoping@viewhigh.com', 'nhc.platform', '', 'id', 'create_user,create_time,update_user,update_time', 'is_delete', 3, '刘小平', 0, '2021-11-17 20:28:41', '刘小平', '2021-12-16 14:39:18', '刘小平', 1);
INSERT INTO generator_config_group VALUES (11, '郑州绩效的拷贝', '郑州绩效', 1, 'liuxiaoping@viewhigh.com', 'nhc.platform', '', 'id', 'create_user,create_time,update_user,update_time', 'is_delete', 3, '刘小平', 0, '2021-12-16 14:33:27', '刘小平', '2021-12-16 14:33:57', '刘小平', 1);
INSERT INTO generator_config_group VALUES (12, '郑州nhc_platform', '郑州新的系统平台，单体应用，使用lombok', 13, 'liuxiaoping@viewhigh.com', 'nhc.platform', '', 'id', 'create_user,create_time,update_user,update_time', 'is_delete', 3, '刘小平', 0, '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:38:14', '刘小平', 0);
INSERT INTO generator_config_group VALUES (13, '龙岗报表数据生成的拷贝', '宽表数据', 1, 'contact@liuxp.me', 'com.vh.gov.cloud.report', '', '', '', '', 3, '刘小平', 0, '2021-12-16 15:56:01', '刘小平', '2021-12-16 15:56:17', '刘小平', 1);
INSERT INTO generator_config_group VALUES (14, '郑州nhc_platform的拷贝', '郑州新的系统平台，单体应用，使用lombok', 13, 'liuxiaoping@viewhigh.com', 'nhc.platform', '', 'id', 'create_user,create_time,update_user,update_time', 'is_delete', 3, '刘小平', 0, '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_group VALUES (15, '龙岗报表数据生成的拷贝', '宽表数据', 1, 'contact@liuxp.me', 'com.vh.gov.cloud.report', '', '', '', '', 3, '刘小平', 0, '2022-07-22 16:48:21', '刘小平', '2022-07-22 16:48:21', '刘小平', 0);


INSERT INTO generator_config_individual VALUES (1, 'contact@liuxp.me', 'com.vh.gov.cloud.finance', 't_', NULL, '', NULL, '', 'id', 'create_user,create_time,update_user,update_time', 'is_delete', 3, '2020-12-30 16:04:23', '刘小平', '2020-12-30 16:10:42', '刘小平', 0);


INSERT INTO generator_config_mapping VALUES (1, 'MySQL', 'bit', 'bit', 'Boolean', '2018-12-26 17:37:39', 'SYSTEM', '2021-01-12 11:26:25', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (2, 'MySQL', 'blob', 'blob', 'byte[]', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 18:32:03', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (3, 'MySQL', 'bigint', 'bigint', 'Long', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (4, 'MySQL', 'char', 'varchar', 'String', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (5, 'MySQL', 'date', 'timestamp', 'Date', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (6, 'MySQL', 'datetime', 'timestamp', 'Date', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (7, 'MySQL', 'decimal', 'decimal', 'BigDecimal', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (8, 'MySQL', 'double', 'double', 'BigDecimal', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (9, 'MySQL', 'float', 'float', 'BigDecimal', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (10, 'MySQL', 'int', 'integer', 'Integer', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (11, 'MySQL', 'smallint', 'integer', 'Integer', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (12, 'MySQL', 'numeric', 'numeric', 'BigDecimal', '2018-12-26 17:37:39', 'SYSTEM', '2021-11-02 18:30:45', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (13, 'MySQL', 'timestamp', 'timestamp', 'Date', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (14, 'MySQL', 'tinyint', 'tinyint', 'Integer', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (15, 'MySQL', 'varchar', 'varchar', 'String', '2018-12-26 17:37:39', 'SYSTEM', '2021-12-27 15:03:44', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (16, 'MySQL', 'text', 'varchar', 'String', '2018-12-26 17:37:39', 'SYSTEM', '2018-12-26 17:37:42', 'SYSTEM', 0);
INSERT INTO generator_config_mapping VALUES (17, 'MySQL', 'longtext', 'varchar', 'String', '2021-03-23 13:54:19', '刘小平', '2021-03-23 13:54:19', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (18, 'SQLServer', 'nvarchar', 'VARCHAR', 'String', '2021-11-02 18:29:23', '刘小平', '2021-12-27 17:25:58', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (19, 'SQLServer', 'bigint', 'BIGINT', 'Long', '2021-12-27 16:48:08', '刘小平', '2021-12-27 16:48:08', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (20, 'SQLServer', 'timestamp', 'BINARY', 'byte[]', '2021-12-27 16:51:55', '刘小平', '2021-12-27 16:51:55', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (21, 'SQLServer', 'binary', 'BINARY', 'byte[]', '2021-12-27 16:52:18', '刘小平', '2021-12-27 16:52:18', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (22, 'SQLServer', 'bit', 'BIT', 'Boolean', '2021-12-27 16:52:32', '刘小平', '2021-12-27 16:52:32', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (23, 'SQLServer', 'char', 'CHAR', 'String', '2021-12-27 16:52:47', '刘小平', '2021-12-27 16:52:47', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (24, 'SQLServer', 'decimal', 'DECIMAL', 'BigDecimal', '2021-12-27 16:53:06', '刘小平', '2021-12-27 16:53:06', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (25, 'SQLServer', 'money', 'DECIMAL', 'BigDecimal', '2021-12-27 17:21:56', '刘小平', '2021-12-27 17:21:56', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (26, 'SQLServer', 'smallmoney', 'DECIMAL', 'BigDecimal', '2021-12-27 17:22:09', '刘小平', '2021-12-27 17:22:09', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (27, 'SQLServer', 'float', 'DOUBLE', 'Double', '2021-12-27 17:22:25', '刘小平', '2021-12-27 17:22:25', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (28, 'SQLServer', 'int', 'INTEGER', 'Integer', '2021-12-27 17:22:41', '刘小平', '2021-12-27 17:22:41', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (29, 'SQLServer', 'image', 'LONGVARBINARY', 'byte[]', '2021-12-27 17:23:00', '刘小平', '2021-12-27 17:23:00', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (30, 'SQLServer', 'varbinary', 'VARBINARY', 'byte[]', '2021-12-27 17:23:20', '刘小平', '2021-12-27 17:24:09', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (31, 'SQLServer', 'varbinary(max)', 'LONGVARBINARY', 'byte[]', '2021-12-27 17:24:43', '刘小平', '2021-12-27 17:24:43', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (32, 'SQLServer', 'varchar(max)', 'LONGVARCHAR', 'String', '2021-12-27 17:25:06', '刘小平', '2021-12-27 17:25:06', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (33, 'SQLServer', 'text', 'LONGVARCHAR', 'String', '2021-12-27 17:25:18', '刘小平', '2021-12-27 17:25:18', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (34, 'SQLServer', 'nchar', 'CHAR', 'String', '2021-12-27 17:25:44', '刘小平', '2021-12-27 17:25:44', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (35, 'SQLServer', 'nvarchar(max)', 'LONGVARCHAR', 'String', '2021-12-27 17:26:15', '刘小平', '2021-12-27 17:26:15', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (36, 'SQLServer', 'ntext', 'LONGVARCHAR', 'String', '2021-12-27 17:26:27', '刘小平', '2021-12-27 17:26:27', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (37, 'SQLServer', 'numeric', 'NUMERIC', 'BigDecimal', '2021-12-27 17:26:40', '刘小平', '2021-12-27 17:26:40', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (38, 'SQLServer', 'real', 'REAL', 'float', '2021-12-27 17:26:52', '刘小平', '2021-12-27 17:26:52', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (39, 'SQLServer', 'smallint', 'SMALLINT', 'short', '2021-12-27 17:27:07', '刘小平', '2021-12-27 17:27:07', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (40, 'SQLServer', 'datetime', 'TIMESTAMP', 'Date', '2021-12-27 17:27:20', '刘小平', '2021-12-27 17:30:53', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (41, 'SQLServer', 'smalldatetime', 'TIMESTAMP', 'Date', '2021-12-27 17:31:10', '刘小平', '2021-12-27 17:31:10', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (42, 'SQLServer', 'udt', 'VARBINARY', 'byte[]', '2021-12-27 17:31:31', '刘小平', '2021-12-27 17:31:31', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (43, 'SQLServer', 'varchar', 'VARCHAR', 'String', '2021-12-27 17:31:44', '刘小平', '2021-12-27 17:31:44', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (44, 'SQLServer', 'tinyint', 'TINYINT', 'Integer', '2021-12-27 17:32:08', '刘小平', '2021-12-27 17:32:08', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (45, 'SQLServer', 'uniqueidentifier', 'CHAR', 'String', '2021-12-27 17:33:59', '刘小平', '2021-12-27 17:33:59', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (46, 'SQLServer', 'xml', 'LONGVARCHAR', 'String', '2021-12-27 17:34:12', '刘小平', '2021-12-27 17:34:12', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (47, 'SQLServer', 'date', 'DATE', 'Date', '2021-12-27 17:34:30', '刘小平', '2021-12-27 17:34:30', '刘小平', 0);
INSERT INTO generator_config_mapping VALUES (48, 'SQLServer', 'datetime2', 'TIMESTAMP', 'Date', '2021-12-27 17:36:15', '刘小平', '2021-12-27 17:36:15', '刘小平', 0);


INSERT INTO generator_config_template VALUES (1, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n        <id column=\"$!{pkColumn.columnNameEN}\" property=\"$!{pkColumn.columnPropertyName}\" jdbcType=\"$!{pkColumn.jdbcType}\" />       <!-- $!{pkColumn.columnNameCH} -->\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n        <result column=\"$!{effectiveFlagColumn.columnNameEN}\" property=\"$!{effectiveFlagColumn.columnPropertyName}\" jdbcType=\"$!{effectiveFlagColumn.jdbcType}\" />       <!-- $!{effectiveFlagColumn.columnNameCH} -->\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n        $!{pkColumn.columnNameEN},       /* $!{pkColumn.columnNameCH} */\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n        $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            <if test=\"$!{pkColumn.columnPropertyName} != null\">\n                AND $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=BIGINT}	/* $!{pkColumn.columnNameCH} */\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Min != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} > #{$!{pkColumn.columnPropertyName}Min, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}大于某值*/\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Max != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} < #{$!{pkColumn.columnPropertyName}Max, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}小于某值 */\n            </if>\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 排序 -->\n    <sql id=\"sortClause\">\n        <if test=\"_sort != null\">\n            ORDER BY\n            <foreach collection=\"_sort\" item=\"item\" index=\"index\" separator=\",\">\n                <choose>\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{pkColumn.columnPropertyName}\'\">\n                        $!{pkColumn.columnNameEN}    /* $!{pkColumn.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#foreach(${column} in ${columns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n#foreach(${column} in ${extFlagColumns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n                    <otherwise>update_time DESC</otherwise>\n                </choose>\n            </foreach>\n        </if>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n            #{$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n                #{item.$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键删除 -->\n    <update id=\"deleteByPrimaryKey\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量删除 -->\n    <update id=\"batchDeleteByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} in    /* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"ids\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n                AND $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n            AND $!{effectiveFlagColumn.columnNameEN} = 0			/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n            AND $!{effectiveFlagColumn.columnNameEN} = 0	/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"sortClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.mysql', 'Mapper.xml', 4, 'ALICE CODECREATOR', '2018-12-27 10:56:12', '刘小平', '2020-05-08 17:16:08', '刘小平', 0);
INSERT INTO generator_config_template VALUES (2, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.dao.IDao;\n\n/**\n * $!{tableNameCH}Dao层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Dao extends IDao{\n\n}', 'dao', 'Dao.java', 4, 'ALICE CODECREATOR', '2018-12-27 14:07:05', '刘小平', '2020-05-08 17:16:50', '刘小平', 0);
INSERT INTO generator_config_template VALUES (3, 'daoImplTemplate', 'Dao层服务实现类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.common.dao.AbstractDao;\nimport org.springframework.stereotype.Repository;\n\n/**\n * $!{tableNameCH}Dao层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Repository\npublic class $!{tableClassNameEN}DaoImpl extends AbstractDao implements $!{tableClassNameEN}Dao {\n\n}', 'dao.impl', 'DaoImpl.java', 4, 'ALICE CODECREATOR', '2018-12-27 14:07:50', '刘小平', '2020-05-08 17:19:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (4, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.service.IService;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends IService{\n\n}', 'service', 'Service.java', 4, 'ALICE CODECREATOR', '2018-12-27 14:08:22', '刘小平', '2020-05-08 17:19:22', '刘小平', 0);
INSERT INTO generator_config_template VALUES (5, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.common.service.AbstractService;\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractService implements $!{tableClassNameEN}Service {\n\n    @Autowired\n    public void setDao($!{tableClassNameEN}Dao dao) {this.iDao = dao;}\n\n}', 'service.impl', 'ServiceImpl.java', 4, 'ALICE CODECREATOR', '2018-12-27 14:08:43', '刘小平', '2020-05-08 17:19:56', '刘小平', 0);
INSERT INTO generator_config_template VALUES (6, 'domainTemplate', '实体类模板', 'package $!{packagePath}.domain.model.$!{tablePrefixLowerCase};\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport $!{packagePath}.domain.Transient;\n\nimport $!{packagePath}.domain.model.AbstractEntity;\n\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\npublic class $!{tableClassNameEN} extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * $!{column.columnNameCH}\n     */\n    @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd HH:mm:ss\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}Begin;\n    /**\n     * $!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}End;\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     */\n    @Transient\n    private $!{column.javaType} $!{column.columnPropertyName}Like;\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n\n    /**\n     * 获取$!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     * @return $!{column.columnNameCH}\n     */\n    public String get$!{column.columnMethodName}Begin() {\n        return $!{column.columnPropertyName}Begin;\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName}Begin $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}Begin(String $!{column.columnPropertyName}Begin) {\n        this.$!{column.columnPropertyName}Begin = $!{column.columnPropertyName}Begin;\n    }\n\n    /**\n     * 获取$!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     * @return $!{column.columnNameCH}\n     */\n    public String get$!{column.columnMethodName}End() {\n        return $!{column.columnPropertyName}End;\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName}End $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}End(String $!{column.columnPropertyName}End) {\n        this.$!{column.columnPropertyName}End = $!{column.columnPropertyName}End;\n    }\n\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n    /**\n     * 获取$!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}Like() {\n        return $!{column.columnPropertyName}Like;\n    }\n    /**\n     * 设置$!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     * @param $!{column.columnPropertyName}Like $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}Like($!{column.javaType} $!{column.columnPropertyName}Like) {\n        this.$!{column.columnPropertyName}Like = $!{column.columnPropertyName}Like;\n    }\n\n#else\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n#end\n#end\n}', 'domain', '.java', 4, 'ALICE CODECREATOR', '2018-12-27 14:09:11', '刘小平', '2020-05-08 17:30:33', '刘小平', 0);
INSERT INTO generator_config_template VALUES (7, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.controller.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.controller.BaseController;\nimport $!{packagePath}.domain.model.Page;\nimport $!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN};\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\npublic class $!{tableClassNameEN}Controller extends BaseController{\n\n    /**\n     * $!{tableNameCH}Service接口\n     */\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @param pageNum 当前页码\n     * @param pageSize 每页显示条数\n     * @param sortName 排序字段\n     * @param sortOrder 排序方式\n     * @return Page<$!{tableClassNameEN}> 分页列表\n     */\n    @RequestMapping(value = \"/selectPage\", method = RequestMethod.POST)\n    @ResponseBody\n    public Page<$!{tableClassNameEN}> selectPage($!{tableClassNameEN} $!{tablePropertyNameEN},\n            @RequestParam(value = \"page\", required = false, defaultValue = \"1\") int pageNum,\n            @RequestParam(value = \"rows\", required = false, defaultValue = \"20\") int pageSize,\n            @RequestParam(value = \"sidx\", required = false, defaultValue = \"ts\") String sortName,\n            @RequestParam(value = \"sord\", required = false, defaultValue = \"desc\") String sortOrder) {\n\n        Page<$!{tableClassNameEN}> page = buildPage($!{tablePropertyNameEN}, pageNum,pageSize,sortName,sortOrder);\n        // 执行查询\n        return $!{tablePropertyNameEN}Service.selectPage(page);\n    }\n\n    /**\n     * 根据条件查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return $!{tableNameCH}列表\n    */\n    @RequestMapping(value = \"/selectList\", method = RequestMethod.POST)\n    @ResponseBody\n    public List<$!{tableClassNameEN}> selectList($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        return $!{tablePropertyNameEN}Service.selectList($!{tablePropertyNameEN});\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/selectOne\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} selectOne($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n\n        return $!{tablePropertyNameEN}Service.selectOne($!{pkColumn.columnPropertyName});\n    }\n\n    /**\n     * 保存数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/insert\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} insert($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        // 执行插入，返回已设置主键的数据实体\n        return $!{tablePropertyNameEN}Service.insert($!{tablePropertyNameEN},getAccount().getUserName());\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean update($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行更新\n        int rows = $!{tablePropertyNameEN}Service.update($!{tablePropertyNameEN},getAccount().getUserName());\n        return rows > 0;\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean delete($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n        // 执行逻辑删除\n        int rows = $!{tablePropertyNameEN}Service.delete($!{pkColumn.columnPropertyName},getAccount().getUserName());\n        return rows > 0;\n    }\n\n}', 'controller', 'Controller.java', 4, 'ALICE CODECREATOR', '2018-12-27 14:09:33', '刘小平', '2020-12-12 17:06:49', '刘小平', 0);
INSERT INTO generator_config_template VALUES (16, 'htmlListTemplate', 'html列表页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">查询条件</div>\n            <div class=\"card-body card-body-bottom\">\n                <form id=\"searchForm\">\n                    <div class=\"row\">\n#foreach(${column} in ${columns})\n                        <div class=\"col-12 col-lg-6 col-xl-3\">\n                            <div class=\"input-group input-group-sm mb-3\">\n#if($!{column.javaType}  == \"Date\")\n                                <div class=\"input-group-prepend\">\n                                    <label class=\"input-group-text\" for=\"$!{column.columnPropertyName}\" >$!{column.columnNameCH}</label>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\">\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n                                <div class=\"input-group-prepend\">\n                                    <label class=\"input-group-text\" for=\"$!{column.columnPropertyName}Like\" >$!{column.columnNameCH}</label>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" id=\"$!{column.columnPropertyName}Like\" name=\"$!{column.columnPropertyName}Like\">\n#else\n                                <div class=\"input-group-prepend\">\n                                    <label class=\"input-group-text\" for=\"$!{column.columnPropertyName}\" >$!{column.columnNameCH}</label>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\">\n#end\n                            </div>\n                        </div>\n#end\n                    </div>\n                </form>\n            </div>\n            <div class=\"card-footer card-footer-contrast text-muted card-footer-small\">\n                <button class=\"btn btn-space btn-primary\" id=\"btnQuery\">查 询</button>\n                <button class=\"btn btn-space btn-secondary\" id=\"btnReset\">清 空</button>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">\n                <a class=\"btn btn-space btn-primary\" href=\"#biz$!{htmlPath}/$!{htmlFileName}add\">\n                    <i class=\"fa fa-plus\"></i>\n                    <span class=\"bigger-110\">新增</span>\n                </a>\n            </div>\n            <div class=\"card-body\">\n                <table id=\"gridTable\"></table>\n                <div id=\"gridPager\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}list.js\"></script>', 'html', 'list.html', 4, 'ALICE CODECREATOR', '2020-12-12 17:46:50', '刘小平', '2021-12-27 14:06:48', '刘小平', 0);
INSERT INTO generator_config_template VALUES (17, 'htmlEditTemplate', 'html修改页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">修改</span></div>\n                <div class=\"card-body\">\n                    <form id=\"editForm\">\n                        <input id=\"$!{pkColumn.columnPropertyName}\" name=\"$!{pkColumn.columnPropertyName}\" style=\"display:none;\"/>\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}edit.js\"></script>', 'html', 'edit.html', 4, 'ALICE CODECREATOR', '2020-12-12 17:47:13', '刘小平', '2020-12-12 17:58:01', '刘小平', 0);
INSERT INTO generator_config_template VALUES (18, 'htmlAddTemplate', 'html新增页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">新增</span></div>\n                <div class=\"card-body\">\n                    <form id=\"addForm\">\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}add.js\"></script>', 'html', 'add.html', 4, 'ALICE CODECREATOR', '2020-12-12 17:47:34', '刘小平', '2020-12-12 17:57:55', '刘小平', 0);
INSERT INTO generator_config_template VALUES (19, 'jsListTemplate', 'js列表页模板', '// 定义page变量\nvar page = {\n    // 方法集合\n    fn:{\n        // 跳转到修改页面\n        openEditPage : function (id) {\n            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}edit?id=\"+id;\n        },\n        // 根据ID删除数据\n        deleteById : function (id) {\n            jQuery.alicej.util.bootbox.showConfirm(\"是否删除该记录？\",function(){\n                jQuery.ajax({\n                    type: \"POST\",\n                    url: \'/web$!{htmlPath}/delete\',\n                    data : {$!{pkColumn.columnPropertyName}:id},\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"删除成功！\",function (){\n                            page.obj.gridTable.trigger(\"reloadGrid\");\n                        });\n                    }\n                });\n            });\n        }\n    },\n    // 对象集合\n    obj:{}\n};\n\njQuery(function(){\n\n    // 初始化jqGrid\n    page.obj.gridTable = $(\"#gridTable\");\n\n    page.obj.gridTable.jqGrid({\n        mtype:\"POST\",\n        url: \"/web$!{htmlPath}/selectPage\",\n        datatype: \"json\",\n        autowidth: true,\n        height: \"auto\",\n        colModel:[\n            {name:\'$!{pkColumn.columnPropertyName}\',label:\'$!{pkColumn.columnNameCH}\', index:\'$!{pkColumn.columnPropertyName}\', sortable:false, hidden:true},\n#foreach(${column} in ${columns})\n            {name:\'$!{column.columnPropertyName}\',label:\'$!{column.columnNameCH}\', index:\'$!{column.columnPropertyName}\', sortable:true},\n#end\n            {name:\'\', label:\'操作\', index:\'\', width:100, fixed:true, sortable:false, resize:false,\n                formatter:function(cellValue,options,rowObject){\n                    var context = \"\";\n                    context += \'<button class=\"btn btn-xs btn-info\" onclick=\"page.fn.openEditPage(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-pencil-square-o bigger-120\"></i></button> \';\n                    context += \'<button class=\"btn btn-xs btn-danger\" onclick=\"page.fn.deleteById(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-trash-o bigger-120\"></i></button> \';\n                    return context;\n                }\n            }\n        ],\n        viewrecords : true,\n        rowNum:10,\n        rowList:[10,20,50],\n        sortname:\"updateTime\",\n        sortorder:\"desc\",\n        altRows: true,\n        pager : \"#gridPager\",\n        jsonReader: { //server返回Json解析设定\n            root: \"content\", //对于json中数据列表\n            page: \"pageNum\",\n            total: \"total\",\n            records: \"records\"\n        },\n        loadComplete:function () {\n            page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n        }\n    });\n\n    // 重置数据列表宽度\n    $(window).resize(function(){\n        page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n    });\n\n    /**\n    * 查询\n    */\n    $(\"#btnQuery\").click(function(){\n\n        // 取得查询参数\n        var gridParam = {\n            url: \"/web$!{htmlPath}/selectPage\",\n            postData:jQuery.alicej.util.serialize(\"#searchForm\"),\n            page:1\n        };\n\n        page.obj.gridTable.jqGrid(\"setGridParam\", gridParam).trigger(\"reloadGrid\");\n    });\n\n    /**\n    * 重置输入框\n    */\n    $(\"#btnReset\").click(function () {\n        var searchForm = $(\"#searchForm\");\n        searchForm.find(\"input\").val(\"\");\n        searchForm.find(\"select\").val(\"\");\n    });\n\n});', 'html', 'list.js', 4, 'ALICE CODECREATOR', '2020-12-12 17:48:50', '刘小平', '2020-12-12 17:48:50', '刘小平', 0);
INSERT INTO generator_config_template VALUES (20, 'jsEditTemplate', 'js修改页模板', '$(function () {\n\n    // 取得待修改的数据\n    jQuery.alicej.util.ajax({\n        type: \"POST\",\n        url: \'/web$!{htmlPath}/selectOne\',\n        data : {$!{pkColumn.columnPropertyName}:jQuery.alicej.util.getUrlParam(\"id\")},\n        dataType:\'json\',\n        success: function(rsp){\n            $(\"#$!{pkColumn.columnPropertyName}\").val(rsp.$!{pkColumn.columnPropertyName});\n#foreach(${column} in ${columns})\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#end\n\n            // Select2\n            $(\".select2\").select2({\n                width: \'100%\',\n                placeholder: \'请选择\',\n                minimumResultsForSearch: Infinity // 隐藏搜索框\n            });\n        }\n    });\n\n    // 初始化表单验证\n    $(\'#editForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n                msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        // 进行表单输入验证\n        jQuery(\"#editForm\").isValid(function(isValid){\n            if(isValid){\n                jQuery.alicej.util.ajax({\n                    type: \"POST\",\n                    url: \'web$!{htmlPath}/update\',\n                    data : jQuery.alicej.util.serialize(\"#editForm\"),\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n\n});', 'html', 'edit.js', 4, 'ALICE CODECREATOR', '2020-12-12 17:49:11', '刘小平', '2020-12-12 17:49:11', '刘小平', 0);
INSERT INTO generator_config_template VALUES (21, 'jsAddTemplate', 'js新增页模板', '$(function () {\n\n    // Select2\n    $(\".select2\").select2({\n        width: \'100%\',\n        placeholder: \'请选择\',\n        minimumResultsForSearch: Infinity // 隐藏搜索框\n    });\n\n    // 初始化表单验证\n    $(\'#addForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n            msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        $(\"#addForm\").isValid(function(isValid){\n        if(isValid){\n            jQuery.alicej.util.ajax({\n            type: \"POST\",\n                url: \'/web$!{htmlPath}/insert\',\n                data : jQuery.alicej.util.serialize(\"#addForm\"),\n                dataType:\'json\',\n                success: function(rsp){\n                    jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                        window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n});', 'html', 'add.js', 4, 'ALICE CODECREATOR', '2020-12-12 17:49:29', '刘小平', '2020-12-12 17:49:29', '刘小平', 0);
INSERT INTO generator_config_template VALUES (22, 'test24', '测试', '123123222222222222222222222233344', 'html', 'edit.html', 2, '财务云社区 - finance', '2021-01-04 15:11:13', '刘小平', '2021-01-04 15:26:23', '刘小平', 1);
INSERT INTO generator_config_template VALUES (23, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.mapper.$!{tableClassNameEN}Mapper\" >\n\n</mapper>', 'mapper', 'Mapper.xml', 2, '财务云社区 - finance', '2021-01-11 09:41:01', '刘小平', '2021-01-11 09:41:01', '刘小平', 0);
INSERT INTO generator_config_template VALUES (24, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao;\n\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport org.apache.ibatis.annotations.Mapper;\n\n/**\n * $!{tableNameCH}Mapper层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Mapper\npublic interface $!{tableClassNameEN}Mapper extends BaseMapper<$!{tableClassNameEN}Entity>{\n\n}', 'mapper', 'Mapper.java', 2, '财务云社区 - finance', '2021-01-11 09:41:25', '刘小平', '2021-01-11 09:41:25', '刘小平', 0);
INSERT INTO generator_config_template VALUES (25, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service;\n\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends AbstractService<$!{tableClassNameEN}Entity>{\n\n    /**\n     * 翻页查询\n     *\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param tenantId 租户编码\n     * @return IPage<$!{tableClassNameEN}Entity> 分页结果集\n     */\n    IPage<$!{tableClassNameEN}Entity> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto,String tenantId);\n\n    /**\n     * 列表查询\n     *\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param tenantId 租户编码\n     * @return List<$!{tableClassNameEN}Entity> 结果集\n     */\n    List<$!{tableClassNameEN}Entity> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto, String tenantId);\n  \n}', 'service', 'Service.java', 2, '财务云社区 - finance', '2021-01-11 09:42:19', '刘小平', '2021-01-11 09:42:19', '刘小平', 0);
INSERT INTO generator_config_template VALUES (26, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.impl;\n\nimport com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport $!{packagePath}.common.util.ParamUtil;\nimport $!{packagePath}.mapper.$!{tableClassNameEN}Mapper;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport $!{packagePath}.service.$!{tableClassNameEN}Service;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractServiceImpl<$!{tableClassNameEN}Mapper, $!{tableClassNameEN}Entity> implements $!{tableClassNameEN}Service {\n\n  @Override\n    public IPage<$!{tableClassNameEN}Entity> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto, String tenantId) {\n\n        // 组装分页参数\n        IPage<$!{tableClassNameEN}Entity> page = ParamUtil.buildPage($!{tablePropertyNameEN}Dto.getCurrent(),$!{tablePropertyNameEN}Dto.getSize(),$!{tablePropertyNameEN}Dto.getSidx(),$!{tablePropertyNameEN}Dto.getSord());\n        // 组装查询参数\n        QueryWrapper<$!{tableClassNameEN}Entity> queryWrapper = new QueryWrapper<>();\n        queryWrapper.eq(\"tenant_id\",tenantId);\n\n        return super.page(page,queryWrapper);\n    }\n\n    @Override\n    public List<$!{tableClassNameEN}Entity> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto, String tenantId) {\n        // 组装查询参数\n        QueryWrapper<$!{tableClassNameEN}Entity> queryWrapper = new QueryWrapper<>();\n        queryWrapper.eq(\"tenant_id\",tenantId);\n\n        return super.list(queryWrapper);\n    }\n  \n}', 'service.impl', 'ServiceImpl.java', 2, '财务云社区 - finance', '2021-01-11 09:42:43', '刘小平', '2021-01-11 09:42:43', '刘小平', 0);
INSERT INTO generator_config_template VALUES (27, 'entityTemplate', '实体类模板', 'package $!{packagePath}.domain.entity;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport com.baomidou.mybatisplus.annotation.TableField;\nimport com.baomidou.mybatisplus.annotation.TableName;\n\nimport $!{packagePath}.domain.AbstractEntity;\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport javax.validation.constraints.Size;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\n@TableName(\"$!{tablePrefix}$!{tableNameEN}\")\n@ApiModel(\"$!{tableNameCH}实体类\")\npublic class $!{tableClassNameEN}Entity extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.maxLength} and $!{column.maxLength} != \'\')\n    /**\n     * $!{column.columnNameCH}\n     */\n#if($!{column.javaType}==\"Integer\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0\")\n#elseif($!{column.javaType}==\"BigDecimal\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0.0\")\n#else\n    @ApiModelProperty(\"$!{column.columnNameCH}\")\n#end\n    @TableField(\"$!{column.columnNameEN}\")\n    @Size(max = $!{column.maxLength},message = \"$!{column.columnNameCH}不能超过$!{column.maxLength}个字符\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n#if($!{column.javaType}==\"Integer\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0\")\n#elseif($!{column.javaType}==\"BigDecimal\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0.0\")\n#else\n    @ApiModelProperty(\"$!{column.columnNameCH}\")\n#end\n    @TableField(\"$!{column.columnNameEN}\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n}', 'domain.entity', 'Entity.java', 2, '财务云社区 - finance', '2021-01-11 09:43:07', '刘小平', '2021-01-11 09:43:07', '刘小平', 0);
INSERT INTO generator_config_template VALUES (28, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.controller;\n\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.vh.gov.cloud.data.Result;\nimport com.vh.gov.cloud.common.valid.group.Create;\nimport com.vh.gov.cloud.common.valid.group.Update;\nimport $!{packagePath}.common.annotation.CurrentUser;\nimport $!{packagePath}.common.context.LoginUser;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport $!{packagePath}.service.$!{tableClassNameEN}Service;\n\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\n@Api(tags = \"$!{tableNameCH}\")\npublic class $!{tableClassNameEN}Controller{\n\n    /**\n     * $!{tableNameCH}Service接口\n     */\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param loginUser 当前登录用户信息\n     * @return IPage<$!{tableClassNameEN}Entity> 分页结果集\n     */\n    @RequestMapping(value = \"/page\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"分页查询\")\n    public Result<IPage<$!{tableClassNameEN}Entity>> page(@RequestBody $!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto,@CurrentUser LoginUser loginUser) {\n      \n        // 执行查询\n        IPage<$!{tableClassNameEN}Entity> page = $!{tablePropertyNameEN}Service.page($!{tablePropertyNameEN}Dto,loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(page);\n    }\n\n    /**\n     * 根据条件列表查询\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param loginUser 当前登录用户信息\n     * @return $!{tableNameCH}结果集\n    */\n    @RequestMapping(value = \"/list\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"列表查询\")\n    public Result<List<$!{tableClassNameEN}Entity>> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto, @CurrentUser LoginUser loginUser) {\n      \n        // 执行查询\n        List<$!{tableClassNameEN}Entity> result = $!{tablePropertyNameEN}Service.list($!{tablePropertyNameEN}Dto,loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @param loginUser 当前登录用户信息\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/getOne\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"单条查询\")\n    public Result<$!{tableClassNameEN}Entity> getOne($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}, @CurrentUser LoginUser loginUser) {\n\n        // 执行查询\n        $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity = $!{tablePropertyNameEN}Service.getOne($!{pkColumn.columnPropertyName},loginUser.getTenantId());\n        // 返回结果\n        return new Result<>($!{tablePropertyNameEN}Entity);\n    }\n\n    /**\n     * 新增\n     * @param $!{tablePropertyNameEN}Entity $!{tableNameCH}数据实体\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/save\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"新增\")\n    public Result<$!{tableClassNameEN}Entity> save(@Validated({Create.class}) $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity, @CurrentUser LoginUser loginUser) {\n\n        // 执行插入，返回结果\n        $!{tableClassNameEN}Entity result = $!{tablePropertyNameEN}Service.save($!{tablePropertyNameEN}Entity,loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN}Entity $!{tableNameCH}数据实体\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"修改\")\n    public Result<$!{tableClassNameEN}Entity> update(@Validated({Update.class}) $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity, @CurrentUser LoginUser loginUser) {\n      \n        // 执行更新\n        $!{tableClassNameEN}Entity result = $!{tablePropertyNameEN}Service.updateById($!{tablePropertyNameEN}Entity,loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/remove\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"逻辑删除\")\n    public Result<Boolean> remove($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}, @CurrentUser LoginUser loginUser) {\n      \n        // 执行逻辑删除\n        boolean result = $!{tablePropertyNameEN}Service.removeById($!{pkColumn.columnPropertyName},loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n}', 'controller', 'Controller.java', 2, '财务云社区 - finance', '2021-01-11 09:43:31', '刘小平', '2021-01-11 09:43:31', '刘小平', 0);
INSERT INTO generator_config_template VALUES (29, 'dtoTemplate', 'DTO', 'package com.vh.gov.cloud.finance.domain.dto;\n\nimport io.swagger.annotations.ApiModel;\nimport com.vh.gov.cloud.data.AbstractPageDto;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * $!{tableNameCH}DTO\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\n@ApiModel(\"$!{tableNameCH}入参实体类\")\npublic class $!{tableClassNameEN}Dto extends AbstractPageDto{\n  \n}', 'domain.dto', 'Dto.java', 2, '财务云社区 - finance', '2021-01-11 09:43:53', '刘小平', '2021-01-11 09:43:53', '刘小平', 0);
INSERT INTO generator_config_template VALUES (30, 'entityTemplate', '实体类模板', 'package $!{packagePath}.domain.entity;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport com.baomidou.mybatisplus.annotation.TableField;\nimport com.baomidou.mybatisplus.annotation.TableName;\n\nimport $!{packagePath}.domain.AbstractEntity;\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport javax.validation.constraints.Size;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\n@TableName(\"$!{tablePrefix}$!{tableNameEN}\")\n@ApiModel(\"$!{tableNameCH}实体类\")\npublic class $!{tableClassNameEN}Entity extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.maxLength} and $!{column.maxLength} != \'\')\n    /**\n     * $!{column.columnNameCH}\n     */\n#if($!{column.javaType}==\"Integer\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0\")\n#elseif($!{column.javaType}==\"BigDecimal\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0.0\")\n#else\n    @ApiModelProperty(\"$!{column.columnNameCH}\")\n#end\n    @TableField(\"$!{column.columnNameEN}\")\n    @Size(max = $!{column.maxLength},message = \"$!{column.columnNameCH}不能超过$!{column.maxLength}个字符\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n#if($!{column.javaType}==\"Integer\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0\")\n#elseif($!{column.javaType}==\"BigDecimal\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0.0\")\n#else\n    @ApiModelProperty(\"$!{column.columnNameCH}\")\n#end\n    @TableField(\"$!{column.columnNameEN}\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n}', 'domain.entity', 'Entity.java', 3, '财务云社区 - platform', '2021-01-12 10:26:05', '刘小平', '2021-01-12 10:26:05', '刘小平', 0);
INSERT INTO generator_config_template VALUES (31, 'dtoTemplate', 'DTO', 'package com.vh.gov.cloud.finance.domain.dto;\n\nimport io.swagger.annotations.ApiModel;\nimport com.vh.gov.cloud.data.AbstractPageDto;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * $!{tableNameCH}DTO\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\n@ApiModel(\"$!{tableNameCH}入参实体类\")\npublic class $!{tableClassNameEN}Dto extends AbstractPageDto{\n  \n}', 'domain.dto', 'Dto.java', 3, '财务云社区 - platform', '2021-01-12 10:28:52', '刘小平', '2021-01-12 10:28:52', '刘小平', 0);
INSERT INTO generator_config_template VALUES (32, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.$!{tablePrefixLowerCase}.dao.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n        <id column=\"$!{pkColumn.columnNameEN}\" property=\"$!{pkColumn.columnPropertyName}\" jdbcType=\"$!{pkColumn.jdbcType}\" />       <!-- $!{pkColumn.columnNameCH} -->\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n        <result column=\"$!{effectiveFlagColumn.columnNameEN}\" property=\"$!{effectiveFlagColumn.columnPropertyName}\" jdbcType=\"$!{effectiveFlagColumn.jdbcType}\" />       <!-- $!{effectiveFlagColumn.columnNameCH} -->\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n        $!{pkColumn.columnNameEN},       /* $!{pkColumn.columnNameCH} */\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n        $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            <if test=\"$!{pkColumn.columnPropertyName} != null\">\n                AND $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=BIGINT}	/* $!{pkColumn.columnNameCH} */\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Min != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} > #{$!{pkColumn.columnPropertyName}Min, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}大于某值*/\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Max != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} < #{$!{pkColumn.columnPropertyName}Max, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}小于某值 */\n            </if>\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 排序 -->\n    <sql id=\"sortClause\">\n        <if test=\"_sort != null\">\n            ORDER BY\n            <foreach collection=\"_sort\" item=\"item\" index=\"index\" separator=\",\">\n                <choose>\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{pkColumn.columnPropertyName}\'\">\n                        $!{pkColumn.columnNameEN}    /* $!{pkColumn.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#foreach(${column} in ${columns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n#foreach(${column} in ${extFlagColumns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n                    <otherwise>id DESC</otherwise>\n                </choose>\n            </foreach>\n        </if>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n            #{$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n                #{item.$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键删除 -->\n    <update id=\"deleteByPrimaryKey\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}==\"update_user\")\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n#end\n#if($!{column.columnNameEN}==\"update_time\")\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n#end\n#end\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量删除 -->\n    <update id=\"batchDeleteByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}==\"update_user\")\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n#end\n#if($!{column.columnNameEN}==\"update_time\")\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n#end\n#end\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} in    /* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"ids\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n                AND $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n            AND $!{effectiveFlagColumn.columnNameEN} = 0			/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n            AND $!{effectiveFlagColumn.columnNameEN} = 0	/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"sortClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.mysql', 'Mapper.xml', 6, '云平台 - basic', '2021-01-14 18:03:57', '刘小平', '2021-01-14 18:03:57', '刘小平', 0);
INSERT INTO generator_config_template VALUES (33, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.$!{tablePrefixLowerCase}.dao;\n\nimport $!{packagePath}.common.dao.IDao;\n\n/**\n * $!{tableNameCH}Dao层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Dao extends IDao{\n\n}', 'dao', 'Dao.java', 6, '云平台 - basic', '2021-01-14 18:04:22', '刘小平', '2021-01-14 18:04:22', '刘小平', 0);
INSERT INTO generator_config_template VALUES (34, 'daoImplTemplate', 'Dao层服务实现类模板', 'package $!{packagePath}.$!{tablePrefixLowerCase}.dao.impl;\n\nimport $!{packagePath}.$!{tablePrefixLowerCase}.dao.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.common.dao.AbstractDao;\nimport org.springframework.stereotype.Repository;\n\n/**\n * $!{tableNameCH}Dao层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Repository\npublic class $!{tableClassNameEN}DaoImpl extends AbstractDao implements $!{tableClassNameEN}Dao {\n\n}', 'dao.impl', 'DaoImpl.java', 6, '云平台 - basic', '2021-01-14 18:04:45', '刘小平', '2021-01-14 18:04:45', '刘小平', 0);
INSERT INTO generator_config_template VALUES (35, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.$!{tablePrefixLowerCase}.service;\n\nimport $!{packagePath}.common.service.IService;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends IService{\n\n}', 'service', 'Service.java', 6, '云平台 - basic', '2021-01-15 10:04:29', '刘小平', '2021-01-15 10:04:29', '刘小平', 0);
INSERT INTO generator_config_template VALUES (36, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.$!{tablePrefixLowerCase}.service.impl;\n\nimport $!{packagePath}.common.service.AbstractService;\nimport $!{packagePath}.$!{tablePrefixLowerCase}.dao.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.$!{tablePrefixLowerCase}.service.$!{tableClassNameEN}Service;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractService implements $!{tableClassNameEN}Service {\n\n    @Autowired\n    public void setDao($!{tableClassNameEN}Dao dao) {this.iDao = dao;}\n\n}', 'service.impl', 'ServiceImpl.java', 6, '云平台 - basic', '2021-01-15 10:04:53', '刘小平', '2021-01-15 10:04:53', '刘小平', 0);
INSERT INTO generator_config_template VALUES (37, 'domainTemplate', '实体类模板', 'package $!{packagePath}.domain.model.$!{tablePrefixLowerCase};\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport org.liuxp.cloud.platform.annotation.Transient;\n\nimport $!{packagePath}.domain.model.AbstractEntity;\n\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\npublic class $!{tableClassNameEN} extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * $!{column.columnNameCH}\n     */\n    @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd HH:mm:ss\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}Begin;\n    /**\n     * $!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}End;\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     */\n    @Transient\n    private $!{column.javaType} $!{column.columnPropertyName}Like;\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n\n    /**\n     * 获取$!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     * @return $!{column.columnNameCH}\n     */\n    public String get$!{column.columnMethodName}Begin() {\n        return $!{column.columnPropertyName}Begin;\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName}Begin $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}Begin(String $!{column.columnPropertyName}Begin) {\n        this.$!{column.columnPropertyName}Begin = $!{column.columnPropertyName}Begin;\n    }\n\n    /**\n     * 获取$!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     * @return $!{column.columnNameCH}\n     */\n    public String get$!{column.columnMethodName}End() {\n        return $!{column.columnPropertyName}End;\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName}End $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}End(String $!{column.columnPropertyName}End) {\n        this.$!{column.columnPropertyName}End = $!{column.columnPropertyName}End;\n    }\n\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n    /**\n     * 获取$!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}Like() {\n        return $!{column.columnPropertyName}Like;\n    }\n    /**\n     * 设置$!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     * @param $!{column.columnPropertyName}Like $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}Like($!{column.javaType} $!{column.columnPropertyName}Like) {\n        this.$!{column.columnPropertyName}Like = $!{column.columnPropertyName}Like;\n    }\n\n#else\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n#end\n#end\n}', 'domain', '.java', 6, '云平台 - basic', '2021-01-15 10:05:17', '刘小平', '2021-01-15 10:05:28', '刘小平', 0);
INSERT INTO generator_config_template VALUES (38, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.webapp.controller.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.api.$!{tablePrefixLowerCase}.$!{tableClassNameEN}RemoteService;\nimport $!{packagePath}.domain.model.Page;\nimport $!{packagePath}.domain.model.Result;\nimport $!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN};\nimport $!{packagePath}.webapp.controller.BaseController;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\npublic class $!{tableClassNameEN}Controller extends BaseController{\n\n    /**\n     * $!{tableNameCH}RemoteService接口\n     */\n    @Resource\n    private $!{tableClassNameEN}RemoteService $!{tablePropertyNameEN}RemoteService;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @param pageNum 当前页码\n     * @param pageSize 每页显示条数\n     * @param sortName 排序字段\n     * @param sortOrder 排序方式\n     * @return Page<$!{tableClassNameEN}> 分页列表\n     */\n    @RequestMapping(value = \"/selectPage\", method = RequestMethod.POST)\n    @ResponseBody\n    public Page<$!{tableClassNameEN}> selectPage($!{tableClassNameEN} $!{tablePropertyNameEN},\n            @RequestParam(value = \"page\", required = false, defaultValue = \"1\") int pageNum,\n            @RequestParam(value = \"rows\", required = false, defaultValue = \"20\") int pageSize,\n            @RequestParam(value = \"sidx\", required = false, defaultValue = \"ts\") String sortName,\n            @RequestParam(value = \"sord\", required = false, defaultValue = \"desc\") String sortOrder) {\n\n        Page<$!{tableClassNameEN}> page = buildPage($!{tablePropertyNameEN}, pageNum,pageSize,sortName,sortOrder);\n        // 执行查询\n        Result<Page<$!{tableClassNameEN}>> result = $!{tablePropertyNameEN}RemoteService.selectPage(page);\n        return result.getContent();\n    }\n\n    /**\n     * 根据条件查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return $!{tableNameCH}列表\n    */\n    @RequestMapping(value = \"/selectList\", method = RequestMethod.POST)\n    @ResponseBody\n    public List<$!{tableClassNameEN}> selectList($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        Result<List<$!{tableClassNameEN}>> result = $!{tablePropertyNameEN}RemoteService.selectList($!{tablePropertyNameEN});\n\n        return result.getContent();\n\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/selectOne\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} selectOne($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n\n        Result<$!{tableClassNameEN}> result = $!{tablePropertyNameEN}RemoteService.selectOne($!{pkColumn.columnPropertyName});\n        return result.getContent();\n\n    }\n\n    /**\n     * 保存数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/insert\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} insert($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        // 执行插入\n        Result<$!{tableClassNameEN}> result = $!{tablePropertyNameEN}RemoteService.insert($!{tablePropertyNameEN});\n        // 返回已设置主键的数据实体\n        return result.getContent();\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean update($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行更新\n        Result<Boolean> result = $!{tablePropertyNameEN}RemoteService.update($!{tablePropertyNameEN});\n\n        return result.getContent();\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean delete($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n        // 执行逻辑删除\n        Result<Boolean> result = $!{tablePropertyNameEN}RemoteService.delete($!{pkColumn.columnPropertyName});\n\n        return result.getContent();\n    }\n\n}', 'controller', 'Controller.java', 6, '云平台 - basic', '2021-01-15 10:06:20', '刘小平', '2021-01-15 10:06:20', '刘小平', 0);
INSERT INTO generator_config_template VALUES (39, 'restControllerTemplate', 'restController模板', 'package $!{packagePath}.$!{tablePrefixLowerCase}.controller;\n\nimport $!{packagePath}.api.$!{tablePrefixLowerCase}.$!{tableClassNameEN}RemoteService;\nimport $!{packagePath}.$!{tablePrefixLowerCase}.service.$!{tableClassNameEN}Service;\nimport $!{packagePath}.common.controller.BaseRestController;\nimport $!{packagePath}.domain.model.Page;\nimport $!{packagePath}.domain.model.Result;\nimport $!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN};\nimport org.springframework.web.bind.annotation.*;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}RestController\n * @author $!{author}\n * DateTime: $!{dateTime}\n */\n@RestController\npublic class $!{tableClassNameEN}RestController extends BaseRestController implements $!{tableClassNameEN}RemoteService {\n\n    // $!{tableNameCH}Service\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 分页查询\n     * @param page 分页与查询条件对象\n     * @return Result<Page<$!{tableClassNameEN}>> 结果集\n     */\n    public Result<Page<$!{tableClassNameEN}>> selectPage(@RequestBody Page<$!{tableClassNameEN}> page) {\n        // 执行查询\n        page = $!{tablePropertyNameEN}Service.selectPage(page);\n        // 返回查询结果\n        return new Result<>(page);\n    }\n\n    /**\n     * 列表查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return Result<List<$!{tableClassNameEN}>> 结果集\n     */\n    public Result<List<$!{tableClassNameEN}>> selectList(@RequestBody $!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行查询\n        List<$!{tableClassNameEN}> content = $!{tablePropertyNameEN}Service.selectList($!{tablePropertyNameEN});\n        // 返回结果\n        return new Result<>(content);\n    }\n\n    /**\n     * 单条查询\n     * @param id 主键\n     * @return Result<$!{tableClassNameEN}> 数据实体\n     */\n    public Result<$!{tableClassNameEN}> selectOne(Long id) {\n        // 执行查询\n        $!{tableClassNameEN} content = $!{tablePropertyNameEN}Service.selectOne(id);\n        // 返回结果\n        return new Result<>(content);\n    }\n\n    /**\n    * 新增\n    * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n    * @return Result<$!{tableClassNameEN}> 已设置主键的数据实体\n    */\n    public Result<$!{tableClassNameEN}> insert(@RequestBody $!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行插入\n        $!{tablePropertyNameEN} = $!{tablePropertyNameEN}Service.insert($!{tablePropertyNameEN},getAccount().getUserName());\n        // 返回已设置主键的数据实体\n        return new Result<>($!{tablePropertyNameEN});\n    }\n\n    /**\n     * 批量新增\n     * @param $!{tablePropertyNameEN}List $!{tableNameCH}数据实体\n     * @return Result<List<$!{tableClassNameEN}>> 已设置主键的数据实体结果集\n     */\n    @Override\n    public Result<List<$!{tableClassNameEN}>> batchInsert(@RequestBody List<$!{tableClassNameEN}> $!{tablePropertyNameEN}List) {\n        return new Result<>((List<$!{tableClassNameEN}>)$!{tablePropertyNameEN}Service.insert($!{tablePropertyNameEN}List,getAccount().getUserName()));\n    }\n\n    /**\n     * 修改\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return Result<Boolean> 是否成功\n     */\n    public Result<Boolean> update(@RequestBody $!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行更新\n        int rows = $!{tablePropertyNameEN}Service.update($!{tablePropertyNameEN}, getAccount().getUserName());\n        if (rows == 1) {\n            // 返回\n            return new Result<>(true);\n        }\n        // 返回\n        return new Result<>(false);\n    }\n\n    /**\n     * 逻辑删除\n     * @param id 数据主键\n     * @return Result<Boolean> 是否成功\n     */\n    public Result<Boolean> delete(Long id) {\n        // 执行逻辑删除\n        int rows = $!{tablePropertyNameEN}Service.delete(id, getAccount().getUserName());\n        if (rows == 1) {\n            // 返回\n            return new Result<>(true);\n        }\n        // 返回\n        return new Result<>(false);\n    }\n\n}', 'controller', 'RestController.java', 6, '云平台 - basic', '2021-01-15 10:06:47', '刘小平', '2021-01-15 10:06:47', '刘小平', 0);
INSERT INTO generator_config_template VALUES (40, 'remoteServiceTemplate', 'remoteService层服务接口', 'package $!{packagePath}.api.$!{tablePrefixLowerCase};\n\nimport org.liuxp.cloud.platform.api.ApiConfig;\nimport $!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN};\nimport org.liuxp.cloud.platform.domain.model.Page;\nimport org.liuxp.cloud.platform.domain.model.Result;\nimport org.springframework.cloud.openfeign.FeignClient;\nimport org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}RemoteService层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@FeignClient(name= ApiConfig.$!{tablePrefixUpperCase}_SERVICE_NAME)\n@RequestMapping(\"/api/$!{tablePropertyNameEN}\")\npublic interface $!{tableClassNameEN}RemoteService{\n\n    /**\n     * 分页查询\n     * @param page 分页与查询条件对象\n     * @return Result<Page<$!{tableClassNameEN}>> 结果集\n     */\n    @RequestMapping(value = \"/selectPage\", method = RequestMethod.POST)\n    Result<Page<$!{tableClassNameEN}>> selectPage(@RequestBody Page<$!{tableClassNameEN}> page);\n\n    /**\n     * 列表查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return Result<List<$!{tableClassNameEN}>> 结果集\n     */\n    @RequestMapping(value = \"/selectList\", method = RequestMethod.POST)\n    Result<List<$!{tableClassNameEN}>> selectList(@RequestBody $!{tableClassNameEN} $!{tablePropertyNameEN});\n\n    /**\n     * 单条查询\n     * @param id 主键\n     * @return Result<$!{tableClassNameEN}> 数据实体\n     */\n    @RequestMapping(value = \"/selectOne\", method = RequestMethod.POST)\n    Result<$!{tableClassNameEN}> selectOne(@RequestParam(\"id\") Long id);\n\n    /**\n     * 新增数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return Result<$!{tableClassNameEN}> 已设置主键的数据实体\n     */\n    @RequestMapping(value = \"/insert\", method = RequestMethod.POST)\n    Result<$!{tableClassNameEN}> insert(@RequestBody $!{tableClassNameEN} $!{tablePropertyNameEN});\n\n    /**\n     * 批量新增\n     * @param $!{tablePropertyNameEN}List $!{tableNameCH}数据实体\n     * @return Result<List<$!{tableClassNameEN}>> 已设置主键的数据实体结果集\n     */\n    @RequestMapping(value = \"/batchInsert\", method = RequestMethod.POST)\n    Result<List<$!{tableClassNameEN}>> batchInsert(@RequestBody List<$!{tableClassNameEN}> $!{tablePropertyNameEN}List);\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return Result<Boolean> 是否成功\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    Result<Boolean> update(@RequestBody $!{tableClassNameEN} $!{tablePropertyNameEN});\n\n    /**\n     * 逻辑删除数据\n     * @param id 数据主键\n     * @return Result<Boolean> 是否成功\n     */\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    Result<Boolean> delete(@RequestParam(\"id\") Long id);\n\n}', 'api', 'RemoteService.java', 6, '云平台 - basic', '2021-01-15 10:07:15', '刘小平', '2021-01-15 10:07:15', '刘小平', 0);
INSERT INTO generator_config_template VALUES (41, 'htmlListTemplate', 'html列表页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">查询条件</div>\n            <div class=\"card-body card-body-bottom\">\n                <form id=\"searchForm\">\n                    <div class=\"row\">\n#foreach(${column} in ${columns})\n                        <div class=\"col-12 col-lg-6 col-xl-3\">\n                            <div class=\"input-group input-group-sm mb-3\">\n#if($!{column.javaType}  == \"Date\")\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}Like\">\n#else\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#end\n                            </div>\n                        </div>\n#end\n                    </div>\n                </form>\n            </div>\n            <div class=\"card-footer card-footer-contrast text-muted card-footer-small\">\n                <button class=\"btn btn-space btn-primary\" id=\"btnQuery\">查 询</button>\n                <button class=\"btn btn-space btn-secondary\" id=\"btnReset\">清 空</button>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">\n                <a class=\"btn btn-space btn-primary\" href=\"#biz$!{htmlPath}/$!{htmlFileName}add\">\n                    <i class=\"fa fa-plus\"></i>\n                    <span class=\"bigger-110\">新增</span>\n                </a>\n            </div>\n            <div class=\"card-body\">\n                <table id=\"gridTable\"></table>\n                <div id=\"gridPager\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}list.js\"></script>', 'html', 'list.html', 6, '云平台 - basic', '2021-01-15 10:07:48', '刘小平', '2021-01-15 10:07:48', '刘小平', 0);
INSERT INTO generator_config_template VALUES (42, 'htmlEditTemplate', 'html修改页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">修改</span></div>\n                <div class=\"card-body\">\n                    <form id=\"editForm\">\n                        <input id=\"$!{pkColumn.columnPropertyName}\" name=\"$!{pkColumn.columnPropertyName}\" style=\"display:none;\"/>\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}edit.js\"></script>', 'html', 'edit.html', 6, '云平台 - basic', '2021-01-15 10:08:18', '刘小平', '2021-01-15 10:08:18', '刘小平', 0);
INSERT INTO generator_config_template VALUES (43, 'htmlAddTemplate', 'html新增页模板', '<ol class=\"breadcrumb\">\n    <li class=\"breadcrumb-item\">一级菜单</li>\n    <li class=\"breadcrumb-item\">$!{tableNameCH}</li>\n    <li class=\"breadcrumb-item active\">新增</li>\n</ol>\n<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">新增</span></div>\n                <div class=\"card-body\">\n                    <form id=\"addForm\">\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}add.js\"></script>', 'html', 'add.html', 6, '云平台 - basic', '2021-01-15 10:08:42', '刘小平', '2021-01-15 10:08:42', '刘小平', 0);
INSERT INTO generator_config_template VALUES (44, 'jsListTemplate', 'js列表页模板', '// 定义page变量\nvar page = {\n    // 方法集合\n    fn:{\n        // 跳转到修改页面\n        openEditPage : function (id) {\n            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}edit?id=\"+id;\n        },\n        // 根据ID删除数据\n        deleteById : function (id) {\n            jQuery.alicej.util.bootbox.showConfirm(\"是否删除该记录？\",function(){\n                jQuery.ajax({\n                    type: \"POST\",\n                    url: \'/web$!{htmlPath}/delete\',\n                    data : {$!{pkColumn.columnPropertyName}:id},\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"删除成功！\",function (){\n                            page.obj.gridTable.trigger(\"reloadGrid\");\n                        });\n                    }\n                });\n            });\n        }\n    },\n    // 对象集合\n    obj:{}\n};\n\njQuery(function(){\n\n    // 初始化jqGrid\n    page.obj.gridTable = $(\"#gridTable\");\n\n    page.obj.gridTable.jqGrid({\n        mtype:\"POST\",\n        url: \"/web$!{htmlPath}/selectPage\",\n        datatype: \"json\",\n        autowidth: true,\n        height: \"auto\",\n        colModel:[\n            {name:\'$!{pkColumn.columnPropertyName}\',label:\'$!{pkColumn.columnNameCH}\', index:\'$!{pkColumn.columnPropertyName}\', sortable:false, hidden:true},\n#foreach(${column} in ${columns})\n            {name:\'$!{column.columnPropertyName}\',label:\'$!{column.columnNameCH}\', index:\'$!{column.columnPropertyName}\', sortable:true},\n#end\n            {name:\'updateTime\',label:\'更新时间\', index:\'updateTime\',formatter:jQuery.alicej.util.getSmpFormatDateTime, sortable:false},\n            {name:\'\', label:\'操作\', index:\'\', width:100, fixed:true, sortable:false, resize:false,\n                formatter:function(cellValue,options,rowObject){\n                    var context = \"\";\n                    context += \'<button class=\"btn btn-xs btn-info\" onclick=\"page.fn.openEditPage(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-pencil-square-o bigger-120\"></i></button> \';\n                    context += \'<button class=\"btn btn-xs btn-danger\" onclick=\"page.fn.deleteById(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-trash-o bigger-120\"></i></button> \';\n                    return context;\n                }\n            }\n        ],\n        viewrecords : true,\n        rowNum:10,\n        rowList:[10,20,50],\n        sortname:\"updateTime\",\n        sortorder:\"desc\",\n        altRows: true,\n        pager : \"#gridPager\",\n        jsonReader: { //server返回Json解析设定\n            root: \"content\", //对于json中数据列表\n            page: \"pageNum\",\n            total: \"total\",\n            records: \"records\"\n        },\n        loadComplete:function () {\n            page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n        }\n    });\n\n    // 重置数据列表宽度\n    $(window).resize(function(){\n        page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n    });\n\n    /**\n    * 查询\n    */\n    $(\"#btnQuery\").click(function(){\n\n        // 取得查询参数\n        var gridParam = {\n            url: \"/web$!{htmlPath}/selectPage\",\n            postData:jQuery.alicej.util.serialize(\"#searchForm\"),\n            page:1\n        };\n\n        page.obj.gridTable.jqGrid(\"setGridParam\", gridParam).trigger(\"reloadGrid\");\n    });\n\n    /**\n    * 重置输入框\n    */\n    $(\"#btnReset\").click(function () {\n        var searchForm = $(\"#searchForm\");\n        searchForm.find(\"input\").val(\"\");\n        searchForm.find(\"select\").val(\"\");\n    });\n\n});', 'html', 'list.js', 6, '云平台 - basic', '2021-01-15 10:09:25', '刘小平', '2021-01-15 10:11:37', '刘小平', 0);
INSERT INTO generator_config_template VALUES (45, 'jsEditTemplate', 'js修改页模板', '$(function () {\n\n    // 取得待修改的数据\n    jQuery.alicej.util.ajax({\n        type: \"POST\",\n        url: \'/web$!{htmlPath}/selectOne\',\n        data : {$!{pkColumn.columnPropertyName}:jQuery.alicej.util.getUrlParam(\"id\")},\n        dataType:\'json\',\n        success: function(rsp){\n            $(\"#$!{pkColumn.columnPropertyName}\").val(rsp.$!{pkColumn.columnPropertyName});\n#foreach(${column} in ${columns})\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#end\n\n            // Select2\n            $(\".select2\").select2({\n                width: \'100%\',\n                placeholder: \'请选择\',\n                minimumResultsForSearch: Infinity // 隐藏搜索框\n            });\n        }\n    });\n\n    // 初始化表单验证\n    $(\'#editForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n                msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        // 进行表单输入验证\n        jQuery(\"#editForm\").isValid(function(isValid){\n            if(isValid){\n                jQuery.alicej.util.ajax({\n                    type: \"POST\",\n                    url: \'web$!{htmlPath}/update\',\n                    data : jQuery.alicej.util.serialize(\"#editForm\"),\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n\n});', 'html', 'edit.js', 6, '云平台 - basic', '2021-01-15 10:10:43', '刘小平', '2021-01-15 10:10:43', '刘小平', 0);
INSERT INTO generator_config_template VALUES (46, 'jsAddTemplate', 'js新增页模板', '$(function () {\n\n    // Select2\n    $(\".select2\").select2({\n        width: \'100%\',\n        placeholder: \'请选择\',\n        minimumResultsForSearch: Infinity // 隐藏搜索框\n    });\n\n    // 初始化表单验证\n    $(\'#addForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n            msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        $(\"#addForm\").isValid(function(isValid){\n        if(isValid){\n            jQuery.alicej.util.ajax({\n            type: \"POST\",\n                url: \'/web$!{htmlPath}/insert\',\n                data : jQuery.alicej.util.serialize(\"#addForm\"),\n                dataType:\'json\',\n                success: function(rsp){\n                    jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                        window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n});', 'html', 'add.js', 6, '云平台 - basic', '2021-01-15 10:11:01', '刘小平', '2021-01-15 10:11:01', '刘小平', 0);
INSERT INTO generator_config_template VALUES (47, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.controller;\n\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.vh.gov.cloud.data.Result;\nimport com.vh.gov.cloud.data.annotation.AuthGroup;\nimport com.vh.gov.cloud.data.valid.Create;\nimport com.vh.gov.cloud.data.valid.Update;\nimport $!{packagePath}.common.annotation.JsonParam;\nimport $!{packagePath}.common.context.CurrentUser;\nimport $!{packagePath}.common.context.LoginUser;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport $!{packagePath}.service.$!{tableClassNameEN}Service;\n\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\n@Api(tags = \"$!{tableNameCH}\")\npublic class $!{tableClassNameEN}Controller{\n\n    /**\n     * $!{tableNameCH}Service接口\n     */\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param loginUser 当前登录用户信息\n     * @return IPage<$!{tableClassNameEN}Entity> 分页结果集\n     */\n    @RequestMapping(value = \"/page\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"分页查询\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_SEARCH\", name = \"$!{tableNameCH} - 查询\")\n    public Result<IPage<$!{tableClassNameEN}Entity>> page(@RequestBody $!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto,@CurrentUser LoginUser loginUser) {\n      \n        // 执行查询\n        IPage<$!{tableClassNameEN}Entity> page = $!{tablePropertyNameEN}Service.page($!{tablePropertyNameEN}Dto);\n        // 返回结果\n        return new Result<>(page);\n    }\n\n    /**\n     * 根据条件列表查询\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param loginUser 当前登录用户信息\n     * @return $!{tableNameCH}结果集\n    */\n    @RequestMapping(value = \"/list\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"列表查询\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_SEARCH\", name = \"$!{tableNameCH} - 查询\")\n    public Result<List<$!{tableClassNameEN}Entity>> list(@RequestBody $!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto, @CurrentUser LoginUser loginUser) {\n      \n        // 执行查询\n        List<$!{tableClassNameEN}Entity> result = $!{tablePropertyNameEN}Service.list($!{tablePropertyNameEN}Dto);\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @param loginUser 当前登录用户信息\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/one\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"单条查询\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_SEARCH\", name = \"$!{tableNameCH} - 查询\")\n    public Result<$!{tableClassNameEN}Entity> one(@JsonParam $!{pkColumn.javaType} $!{pkColumn.columnPropertyName}, @CurrentUser LoginUser loginUser) {\n\n        // 执行查询\n        $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity = $!{tablePropertyNameEN}Service.getById($!{pkColumn.columnPropertyName});\n        // 返回结果\n        return new Result<>($!{tablePropertyNameEN}Entity);\n    }\n\n    /**\n     * 新增\n     * @param $!{tablePropertyNameEN}Entity $!{tableNameCH}数据实体\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/save\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"新增\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_EDIT\", name = \"$!{tableNameCH} - 增删改\")\n    public Result<$!{tableClassNameEN}Entity> save(@RequestBody @Validated({Create.class}) $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity, @CurrentUser LoginUser loginUser) {\n\n        // 执行插入，返回结果\n        $!{tableClassNameEN}Entity result = $!{tablePropertyNameEN}Service.save($!{tablePropertyNameEN}Entity,loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN}Entity $!{tableNameCH}数据实体\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"修改\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_EDIT\", name = \"$!{tableNameCH} - 增删改\")\n    public Result<$!{tableClassNameEN}Entity> update(@RequestBody @Validated({Update.class}) $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity, @CurrentUser LoginUser loginUser) {\n      \n        // 执行更新\n        $!{tableClassNameEN}Entity result = $!{tablePropertyNameEN}Service.updateById($!{tablePropertyNameEN}Entity,loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param ids $!{pkColumn.columnNameCH}集合\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/remove\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"逻辑删除\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_EDIT\", name = \"$!{tableNameCH} - 增删改\")\n    public Result<Boolean> remove(@JsonParam List<$!{pkColumn.javaType}> ids, @CurrentUser LoginUser loginUser) {\n      \n        // 执行逻辑删除\n        boolean result = $!{tablePropertyNameEN}Service.removeByIds(ids,loginUser.getUserId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n}', 'controller', 'Controller.java', 3, '财务云社区 - 基础平台', '2021-01-27 17:50:52', '刘小平', '2021-01-28 11:47:45', '刘小平', 0);
INSERT INTO generator_config_template VALUES (48, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service;\n\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends AbstractService<$!{tableClassNameEN}Entity>{\n\n    /**\n     * 翻页查询\n     *\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @return IPage<$!{tableClassNameEN}Entity> 分页结果集\n     */\n    IPage<$!{tableClassNameEN}Entity> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto);\n\n    /**\n     * 列表查询\n     *\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @return List<$!{tableClassNameEN}Entity> 结果集\n     */\n    List<$!{tableClassNameEN}Entity> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto);\n  \n}', 'service', 'Service.java', 3, '财务云社区 - 基础平台', '2021-01-28 11:29:43', '刘小平', '2021-01-28 11:29:43', '刘小平', 0);
INSERT INTO generator_config_template VALUES (49, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.impl;\n\nimport com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport $!{packagePath}.common.util.ParamUtil;\nimport $!{packagePath}.mapper.$!{tableClassNameEN}Mapper;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport $!{packagePath}.service.$!{tableClassNameEN}Service;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractServiceImpl<$!{tableClassNameEN}Mapper, $!{tableClassNameEN}Entity> implements $!{tableClassNameEN}Service {\n\n  @Override\n    public IPage<$!{tableClassNameEN}Entity> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto) {\n\n        // 组装分页参数\n        IPage<$!{tableClassNameEN}Entity> page = ParamUtil.buildPage($!{tablePropertyNameEN}Dto.getCurrent(),$!{tablePropertyNameEN}Dto.getSize(),$!{tablePropertyNameEN}Dto.getSidx(),$!{tablePropertyNameEN}Dto.getSord());\n        // 组装查询参数\n        QueryWrapper<$!{tableClassNameEN}Entity> queryWrapper = new QueryWrapper<>();\n\n        return super.page(page,queryWrapper);\n    }\n\n    @Override\n    public List<$!{tableClassNameEN}Entity> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto) {\n        // 组装查询参数\n        QueryWrapper<$!{tableClassNameEN}Entity> queryWrapper = new QueryWrapper<>();\n\n        return super.list(queryWrapper);\n    }\n  \n}', 'service.impl', 'ServiceImpl.java', 3, '财务云社区 - 基础平台', '2021-01-28 11:33:28', '刘小平', '2021-01-28 11:33:28', '刘小平', 0);
INSERT INTO generator_config_template VALUES (50, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao;\n\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport org.apache.ibatis.annotations.Mapper;\n\n/**\n * $!{tableNameCH}Mapper层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Mapper\npublic interface $!{tableClassNameEN}Mapper extends BaseMapper<$!{tableClassNameEN}Entity>{\n\n}', 'mapper', 'Mapper.java', 3, '财务云社区 - 基础平台', '2021-01-28 11:34:06', '刘小平', '2021-01-28 11:34:06', '刘小平', 0);
INSERT INTO generator_config_template VALUES (51, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.mapper.$!{tableClassNameEN}Mapper\" >\n\n</mapper>', 'mapper', 'Mapper.xml', 3, '财务云社区 - 基础平台', '2021-01-28 11:34:45', '刘小平', '2021-01-28 11:34:45', '刘小平', 0);
INSERT INTO generator_config_template VALUES (52, 'insertSql', '插入语句', '#foreach($med in [1..10])\n#foreach($year in [2018..2021])\n#foreach($month in [1..12])\nINSERT INTO $!{tablePrefix}$!{tableNameEN} ( med_code, med_name, med_short_name, med_type, year_code, month_code, org_code, org_name, med_grade #foreach(${column} in ${columns}) #if($!{column.javaType}==\"BigDecimal\"),$!{column.columnNameEN} #end #end)\nVALUES(\'med_code_${med}\',\'医疗机构_${med}\',\'简称_${med}\',1,${year}, #if($month<10) CONCAT( \'0\', ${month}) #else ${month} #end, #if($med<6) \'org_code_1\',\'卫健委1\' #else \'org_code_2\',\'卫健委2\' #end,${med} #foreach(${column} in ${columns}) #if($!{column.javaType}==\"BigDecimal\") ,floor(rand() * 100) #end #end );\n#end\n#end\n#end', 'sql', '.sql', 7, '龙岗报表数据生成', '2021-03-11 11:54:16', '刘小平', '2021-03-11 16:44:29', '刘小平', 0);
INSERT INTO generator_config_template VALUES (53, 'entityTemplate', '实体类模板', 'package $!{packagePath}.domain.entity;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport com.baomidou.mybatisplus.annotation.TableField;\nimport com.baomidou.mybatisplus.annotation.TableName;\n\nimport $!{packagePath}.domain.AbstractEntity;\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Getter;\nimport lombok.Setter;\n\nimport javax.validation.constraints.Size;\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\n@TableName(\"$!{tablePrefix}$!{tableNameEN}\")\n@ApiModel(\"$!{tableNameCH}实体类\")\npublic class $!{tableClassNameEN}Entity extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.maxLength} and $!{column.maxLength} != \'\')\n    /**\n     * $!{column.columnNameCH}\n     */\n#if($!{column.javaType}==\"Integer\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0\")\n#elseif($!{column.javaType}==\"BigDecimal\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0.0\")\n#else\n    @ApiModelProperty(\"$!{column.columnNameCH}\")\n#end\n    @TableField(\"$!{column.columnNameEN}\")\n    @Size(max = $!{column.maxLength},message = \"$!{column.columnNameCH}不能超过$!{column.maxLength}个字符\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n#if($!{column.javaType}==\"Integer\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0\")\n#elseif($!{column.javaType}==\"BigDecimal\")\n    @ApiModelProperty(value = \"$!{column.columnNameCH}\",example = \"0.0\")\n#else\n    @ApiModelProperty(\"$!{column.columnNameCH}\")\n#end\n    @TableField(\"$!{column.columnNameEN}\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n}', 'domain.entity', 'Entity.java', 8, '指标库', '2021-05-25 12:59:35', '刘小平', '2021-05-25 12:59:35', '刘小平', 0);
INSERT INTO generator_config_template VALUES (54, 'dtoTemplate', 'DTO', 'package com.vh.gov.cloud.finance.domain.dto;\n\nimport io.swagger.annotations.ApiModel;\nimport com.vh.gov.cloud.data.AbstractPageDto;\nimport lombok.Getter;\nimport lombok.Setter;\n\n/**\n * $!{tableNameCH}DTO\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\n@ApiModel(\"$!{tableNameCH}入参实体类\")\npublic class $!{tableClassNameEN}Dto extends AbstractPageDto{\n  \n}', 'domain.dto', 'Dto.java', 8, '指标库', '2021-05-25 13:01:00', '刘小平', '2021-05-25 13:01:00', '刘小平', 0);
INSERT INTO generator_config_template VALUES (55, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service;\n\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends AbstractService<$!{tableClassNameEN}Entity>{\n\n    /**\n     * 翻页查询\n     *\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @return IPage<$!{tableClassNameEN}Entity> 分页结果集\n     */\n    IPage<$!{tableClassNameEN}Entity> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto);\n\n    /**\n     * 列表查询\n     *\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @return List<$!{tableClassNameEN}Entity> 结果集\n     */\n    List<$!{tableClassNameEN}Entity> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto);\n  \n}', 'service', 'Service.java', 8, '指标库', '2021-05-25 13:01:27', '刘小平', '2021-05-25 13:01:27', '刘小平', 0);
INSERT INTO generator_config_template VALUES (56, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.impl;\n\nimport com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport $!{packagePath}.common.util.ParamUtil;\nimport $!{packagePath}.mapper.$!{tableClassNameEN}Mapper;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport $!{packagePath}.service.$!{tableClassNameEN}Service;\nimport org.springframework.stereotype.Service;\n\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractServiceImpl<$!{tableClassNameEN}Mapper, $!{tableClassNameEN}Entity> implements $!{tableClassNameEN}Service {\n\n    @Override\n    public IPage<$!{tableClassNameEN}Entity> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto) {\n\n        // 组装分页参数\n        IPage<$!{tableClassNameEN}Entity> page = ParamUtil.buildPage($!{tablePropertyNameEN}Dto.getCurrent(),$!{tablePropertyNameEN}Dto.getSize(),$!{tablePropertyNameEN}Dto.getSidx(),$!{tablePropertyNameEN}Dto.getSord());\n        // 组装查询参数\n        QueryWrapper<$!{tableClassNameEN}Entity> queryWrapper = new QueryWrapper<>();\n\n        return super.page(page,queryWrapper);\n    }\n\n    @Override\n    public List<$!{tableClassNameEN}Entity> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto) {\n        // 组装查询参数\n        QueryWrapper<$!{tableClassNameEN}Entity> queryWrapper = new QueryWrapper<>();\n\n        return super.list(queryWrapper);\n    }\n  \n}', 'service.impl', 'ServiceImpl.java', 8, '指标库', '2021-05-25 13:03:27', '刘小平', '2021-06-30 13:58:53', '刘小平', 0);
INSERT INTO generator_config_template VALUES (57, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao;\n\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport org.apache.ibatis.annotations.Mapper;\n\n/**\n * $!{tableNameCH}Mapper层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Mapper\npublic interface $!{tableClassNameEN}Mapper extends BaseMapper<$!{tableClassNameEN}Entity>{\n\n}', 'mapper', 'Mapper.java', 8, '指标库', '2021-05-25 13:03:50', '刘小平', '2021-05-25 13:03:50', '刘小平', 0);
INSERT INTO generator_config_template VALUES (58, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.mapper.$!{tableClassNameEN}Mapper\" >\n\n</mapper>', 'mapper', 'Mapper.xml', 8, '指标库', '2021-05-25 13:04:13', '刘小平', '2021-05-25 13:04:13', '刘小平', 0);
INSERT INTO generator_config_template VALUES (59, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.controller;\n\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.vh.gov.cloud.data.Result;\nimport com.vh.gov.cloud.data.annotation.AuthGroup;\nimport com.vh.gov.cloud.data.valid.Create;\nimport com.vh.gov.cloud.data.valid.Update;\nimport $!{packagePath}.common.annotation.JsonParam;\nimport $!{packagePath}.common.context.CurrentUser;\nimport $!{packagePath}.common.context.LoginUser;\nimport $!{packagePath}.domain.dto.$!{tableClassNameEN}Dto;\nimport $!{packagePath}.domain.entity.$!{tableClassNameEN}Entity;\nimport $!{packagePath}.service.$!{tableClassNameEN}Service;\n\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.validation.annotation.Validated;\nimport org.springframework.web.bind.annotation.*;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\n@Api(tags = \"$!{tableNameCH}\")\npublic class $!{tableClassNameEN}Controller{\n\n    /**\n     * $!{tableNameCH}Service接口\n     */\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param loginUser 当前登录用户信息\n     * @return IPage<$!{tableClassNameEN}Entity> 分页结果集\n     */\n    @RequestMapping(value = \"/page\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"分页查询\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_SEARCH\", name = \"$!{tableNameCH} - 查询\")\n    public Result<IPage<$!{tableClassNameEN}Entity>> page($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto,@CurrentUser LoginUser loginUser) {\n      \n        // 执行查询\n        IPage<$!{tableClassNameEN}Entity> page = $!{tablePropertyNameEN}Service.page($!{tablePropertyNameEN}Dto);\n        // 返回结果\n        return new Result<>(page);\n    }\n\n    /**\n     * 根据条件列表查询\n     * @param $!{tablePropertyNameEN}Dto 查询条件\n     * @param loginUser 当前登录用户信息\n     * @return $!{tableNameCH}结果集\n    */\n    @RequestMapping(value = \"/list\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"列表查询\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_SEARCH\", name = \"$!{tableNameCH} - 查询\")\n    public Result<List<$!{tableClassNameEN}Entity>> list($!{tableClassNameEN}Dto $!{tablePropertyNameEN}Dto, @CurrentUser LoginUser loginUser) {\n      \n        // 执行查询\n        List<$!{tableClassNameEN}Entity> result = $!{tablePropertyNameEN}Service.list($!{tablePropertyNameEN}Dto);\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @param loginUser 当前登录用户信息\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/one\", method = RequestMethod.POST)\n    @ResponseBody\n    @ApiOperation(\"单条查询\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_SEARCH\", name = \"$!{tableNameCH} - 查询\")\n    public Result<$!{tableClassNameEN}Entity> one($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}, @CurrentUser LoginUser loginUser) {\n\n        // 执行查询\n        $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity = $!{tablePropertyNameEN}Service.getById($!{pkColumn.columnPropertyName});\n        // 返回结果\n        return new Result<>($!{tablePropertyNameEN}Entity);\n    }\n\n    /**\n     * 新增\n     * @param $!{tablePropertyNameEN}Entity $!{tableNameCH}数据实体\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/save\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"新增\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_EDIT\", name = \"$!{tableNameCH} - 增删改\")\n    public Result<$!{tableClassNameEN}Entity> save(@Validated({Create.class}) $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity, @CurrentUser LoginUser loginUser) {\n\n        // 执行插入，返回结果\n        $!{tableClassNameEN}Entity result = $!{tablePropertyNameEN}Service.save($!{tablePropertyNameEN}Entity,loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN}Entity $!{tableNameCH}数据实体\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"修改\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_EDIT\", name = \"$!{tableNameCH} - 增删改\")\n    public Result<$!{tableClassNameEN}Entity> update(@Validated({Update.class}) $!{tableClassNameEN}Entity $!{tablePropertyNameEN}Entity, @CurrentUser LoginUser loginUser) {\n      \n        // 执行更新\n        $!{tableClassNameEN}Entity result = $!{tablePropertyNameEN}Service.updateById($!{tablePropertyNameEN}Entity,loginUser.getUserId(),loginUser.getTenantId());\n        // 返回结果\n        return new Result<>(result);\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param id $!{pkColumn.columnNameCH}\n     * @param loginUser 当前登录用户信息\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/remove\", method = RequestMethod.POST)\n    @ResponseBody\n  	@ApiOperation(\"逻辑删除\")\n    @AuthGroup(key = \"$!{tableNameENUpperCase}_EDIT\", name = \"$!{tableNameCH} - 增删改\")\n    public Result<Boolean> remove(String id, @CurrentUser LoginUser loginUser) {\n      \n        // 执行逻辑删除\n        boolean result = $!{tablePropertyNameEN}Service.removeById(id);\n        // 返回结果\n        return new Result<>(result);\n    }\n\n}', 'controller', 'Controller.java', 8, '指标库', '2021-05-25 13:04:35', '刘小平', '2021-06-29 16:15:34', '刘小平', 0);
INSERT INTO generator_config_template VALUES (60, 'jsListTemplate', 'js列表页模板', '// 定义page变量\nvar page = {\n    // 方法集合\n    fn:{\n        // 跳转到修改页面\n        openEditPage : function (id) {\n            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}edit?id=\"+id;\n        },\n        // 根据ID删除数据\n        deleteById : function (id) {\n            jQuery.alicej.util.bootbox.showConfirm(\"是否删除该记录？\",function(){\n                jQuery.alicej.util.ajax({\n                    type: \"POST\",\n                    url: jQuery.alicej.constant.indicator.url() + \'/web$!{htmlPath}/remove\',\n                    data : {$!{pkColumn.columnPropertyName}:id},\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"删除成功！\",function (){\n                            page.obj.gridTable.trigger(\"reloadGrid\");\n                        });\n                    }\n                });\n            });\n        }\n    },\n    // 对象集合\n    obj:{}\n};\n\njQuery(function(){\n\n    // 初始化jqGrid\n    page.obj.gridTable = $(\"#gridTable\");\n\n    page.obj.gridTable.jqGrid({\n        mtype:\"POST\",\n        loadBeforeSend: function(jqXHR) {\n            jqXHR.setRequestHeader(\"gateway_token\",jQuery.alicej.cache.token);\n        },\n        url: jQuery.alicej.constant.indicator.url() + \"/web$!{htmlPath}/page\",\n        datatype: \"json\",\n        autowidth: true,\n        height: \"auto\",\n        colModel:[\n            {name:\'$!{pkColumn.columnPropertyName}\',label:\'$!{pkColumn.columnNameCH}\', index:\'$!{pkColumn.columnPropertyName}\', sortable:false, hidden:true},\n#foreach(${column} in ${columns})\n            {name:\'$!{column.columnPropertyName}\',label:\'$!{column.columnNameCH}\', index:\'$!{column.columnPropertyName}\', sortable:true},\n#end\n            {name:\'lastModifiedTime\',label:\'更新时间\', index:\'lastModifiedTime\',formatter:jQuery.alicej.util.getSmpFormatDateTime, sortable:false},\n            {name:\'\', label:\'操作\', index:\'\', width:100, fixed:true, sortable:false, resize:false,\n                formatter:function(cellValue,options,rowObject){\n                    var context = \"\";\n                    context += \'<button class=\"btn btn-xs btn-info\" onclick=\"page.fn.openEditPage(\\\'\' + rowObject.$!{pkColumn.columnPropertyName} + \'\\\')\"><i class=\"ace-icon fa fa-pencil-square-o bigger-120\"></i></button> \';\n                    context += \'<button class=\"btn btn-xs btn-danger\" onclick=\"page.fn.deleteById(\\\'\' + rowObject.$!{pkColumn.columnPropertyName} + \'\\\')\"><i class=\"ace-icon fa fa-trash-o bigger-120\"></i></button> \';\n                    return context;\n                }\n            }\n        ],\n        viewrecords : true,\n        rowNum:10,\n        rowList:[10,20,50],\n        sortname:\"last_modified_time\",\n        sortorder:\"desc\",\n        altRows: true,\n        pager : \"#gridPager\",\n        jsonReader: { //server返回Json解析设定\n            root: \"content.records\", //对于json中数据列表\n            page: \"content.current\",\n            total: \"content.pages\", // 页数\n            records: \"content.total\" // 记录总数\n        },\n        loadComplete:function () {\n            page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n        }\n    });\n\n    // 重置数据列表宽度\n    $(window).resize(function(){\n        page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n    });\n\n    /**\n    * 查询\n    */\n    $(\"#btnQuery\").click(function(){\n\n        // 取得查询参数\n        var gridParam = {\n            url: jQuery.alicej.constant.indicator.url() + \"/web$!{htmlPath}/page\",\n            postData:jQuery.alicej.util.serialize(\"#searchForm\"),\n            page:1\n        };\n\n        page.obj.gridTable.jqGrid(\"setGridParam\", gridParam).trigger(\"reloadGrid\");\n    });\n\n    /**\n    * 重置输入框\n    */\n    $(\"#btnReset\").click(function () {\n        var searchForm = $(\"#searchForm\");\n        searchForm.find(\"input\").val(\"\");\n        searchForm.find(\"select\").val(\"\");\n    });\n\n});', 'html', 'list.js', 8, '指标库', '2021-05-25 13:44:53', '刘小平', '2021-06-29 16:03:41', '刘小平', 0);
INSERT INTO generator_config_template VALUES (61, 'jsAddTemplate', 'js新增页模板', '$(function () {\n\n    // Select2\n    $(\".select2\").select2({\n        width: \'100%\',\n        placeholder: \'请选择\',\n        minimumResultsForSearch: Infinity // 隐藏搜索框\n    });\n\n    // 初始化表单验证\n    $(\'#addForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n            msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required;length(~$!{column.maxLength}\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        $(\"#addForm\").isValid(function(isValid){\n        if(isValid){\n            jQuery.alicej.util.ajax({\n            type: \"POST\",\n                url: jQuery.alicej.constant.indicator.url() + \'/web$!{htmlPath}/save\',\n                data : jQuery.alicej.util.serialize(\"#addForm\"),\n                dataType:\'json\',\n                success: function(rsp){\n                    jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                        window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n});', 'html', 'add.js', 8, '指标库', '2021-05-25 13:50:35', '刘小平', '2021-07-29 10:49:04', '刘小平', 0);
INSERT INTO generator_config_template VALUES (62, 'jsEditTemplate', 'js修改页模板', '$(function () {\n\n    // 取得待修改的数据\n    jQuery.alicej.util.ajax({\n        type: \"POST\",\n        url: jQuery.alicej.constant.indicator.url() + \'/web$!{htmlPath}/one\',\n        data : {$!{pkColumn.columnPropertyName}:jQuery.alicej.util.getUrlParam(\"id\")},\n        dataType:\'json\',\n        success: function(rsp){\n            $(\"#$!{pkColumn.columnPropertyName}\").val(rsp.content.$!{pkColumn.columnPropertyName});\n#foreach(${column} in ${columns})\n            $(\"#$!{column.columnPropertyName}\").val(rsp.content.$!{column.columnPropertyName});\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n            $(\"#$!{column.columnPropertyName}\").val(rsp.content.$!{column.columnPropertyName});\n#end\n#end\n\n            // Select2\n            $(\".select2\").select2({\n                width: \'100%\',\n                placeholder: \'请选择\',\n                minimumResultsForSearch: Infinity // 隐藏搜索框\n            });\n        }\n    });\n\n    // 初始化表单验证\n    $(\'#editForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n                msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required;length(~$!{column.maxLength})\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        // 进行表单输入验证\n        jQuery(\"#editForm\").isValid(function(isValid){\n            if(isValid){\n                jQuery.alicej.util.ajax({\n                    type: \"POST\",\n                    url: jQuery.alicej.constant.indicator.url() + \'/web$!{htmlPath}/update\',\n                    data : jQuery.alicej.util.serialize(\"#editForm\"),\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n\n});', 'html', 'edit.js', 8, '指标库', '2021-05-25 13:51:06', '刘小平', '2021-07-29 10:48:43', '刘小平', 0);
INSERT INTO generator_config_template VALUES (63, 'htmlAddTemplate', 'html新增页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">新增</span></div>\n                <div class=\"card-body\">\n                    <form id=\"addForm\">\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}add.js\"></script>', 'html', 'add.html', 8, '指标库', '2021-05-25 14:04:23', '刘小平', '2021-06-28 10:51:35', '刘小平', 0);
INSERT INTO generator_config_template VALUES (64, 'htmlEditTemplate', 'html修改页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">修改</span></div>\n                <div class=\"card-body\">\n                    <form id=\"editForm\">\n                        <input id=\"$!{pkColumn.columnPropertyName}\" name=\"$!{pkColumn.columnPropertyName}\" style=\"display:none;\"/>\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}edit.js\"></script>', 'html', 'edit.html', 8, '指标库', '2021-05-25 14:04:49', '刘小平', '2021-05-25 14:04:49', '刘小平', 0);
INSERT INTO generator_config_template VALUES (65, 'htmlListTemplate', 'html列表页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">查询条件</div>\n            <div class=\"card-body card-body-bottom\">\n                <form id=\"searchForm\">\n                    <div class=\"row\">\n#foreach(${column} in ${columns})\n                        <div class=\"col-12 col-lg-6 col-xl-3\">\n                            <div class=\"input-group input-group-sm mb-3\">\n#if($!{column.javaType}  == \"Date\")\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}Like\">\n#else\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#end\n                            </div>\n                        </div>\n#end\n                    </div>\n                </form>\n            </div>\n            <div class=\"card-footer card-footer-contrast text-muted card-footer-small\">\n                <button class=\"btn btn-space btn-primary\" id=\"btnQuery\">查 询</button>\n                <button class=\"btn btn-space btn-secondary\" id=\"btnReset\">清 空</button>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">\n                <a class=\"btn btn-space btn-primary\" href=\"#biz$!{htmlPath}/$!{htmlFileName}add\">\n                    <i class=\"fa fa-plus\"></i>\n                    <span class=\"bigger-110\">新增</span>\n                </a>\n            </div>\n            <div class=\"card-body\">\n                <table id=\"gridTable\"></table>\n                <div id=\"gridPager\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}list.js\"></script>', 'html', 'list.html', 8, '指标库', '2021-05-25 14:05:16', '刘小平', '2021-05-25 14:05:16', '刘小平', 0);
INSERT INTO generator_config_template VALUES (66, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN}#if($velocityCount!=$extFlagColumns.size()),#end       /* $!{column.columnNameCH} */\n#end\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            1 = 1\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN}#if($velocityCount!=$extFlagColumns.size()),#end                      /* $!{column.columnNameCH} */\n#end\n#end\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}}#if($velocityCount!=$extFlagColumns.size()),#end                 /* $!{column.columnNameCH} */\n#end\n#end\n\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN}#if($velocityCount!=$extFlagColumns.size()),#end                      /* $!{column.columnNameCH} */\n#end\n#end\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}}#if($velocityCount!=$extFlagColumns.size()),#end                 /* $!{column.columnNameCH} */\n#end\n#end\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.sqlserver', 'Mapper.xml', 9, '顺义数据同步', '2021-11-02 17:51:24', '刘小平', '2021-11-02 19:11:54', '刘小平', 0);
INSERT INTO generator_config_template VALUES (67, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.dao.IDao;\n\n/**\n * $!{tableNameCH}Dao层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Dao extends IDao{\n\n}', 'dao', 'Dao.java', 9, '顺义数据同步', '2021-11-02 18:18:33', '刘小平', '2021-11-02 18:18:33', '刘小平', 0);
INSERT INTO generator_config_template VALUES (68, 'daoImplTemplate', 'Dao层服务实现类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.common.dao.AbstractDao;\nimport org.springframework.stereotype.Repository;\n\n/**\n * $!{tableNameCH}Dao层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Repository\npublic class $!{tableClassNameEN}DaoImpl extends AbstractDao implements $!{tableClassNameEN}Dao {\n\n}', 'dao.impl', 'DaoImpl.java', 9, '顺义数据同步', '2021-11-02 18:19:05', '刘小平', '2021-11-02 18:19:05', '刘小平', 0);
INSERT INTO generator_config_template VALUES (69, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.service.IService;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends IService{\n\n}', 'service', 'Service.java', 9, '顺义数据同步', '2021-11-02 18:19:40', '刘小平', '2021-11-02 18:19:40', '刘小平', 0);
INSERT INTO generator_config_template VALUES (70, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.common.service.AbstractService;\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractService implements $!{tableClassNameEN}Service {\n\n    @Autowired\n    public void setDao($!{tableClassNameEN}Dao dao) {this.iDao = dao;}\n\n}', 'service.impl', 'ServiceImpl.java', 9, '顺义数据同步', '2021-11-02 18:20:05', '刘小平', '2021-11-02 18:20:05', '刘小平', 0);
INSERT INTO generator_config_template VALUES (71, 'domainTemplate', '实体类模板', 'package $!{packagePath}.domain.model.$!{tablePrefixLowerCase};\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport $!{packagePath}.domain.Transient;\n\nimport $!{packagePath}.domain.model.AbstractEntity;\n\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\npublic class $!{tableClassNameEN} extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * $!{column.columnNameCH}\n     */\n    @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd HH:mm:ss\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}Begin;\n    /**\n     * $!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}End;\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     */\n    @Transient\n    private $!{column.javaType} $!{column.columnPropertyName}Like;\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n\n    /**\n     * 获取$!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     * @return $!{column.columnNameCH}\n     */\n    public String get$!{column.columnMethodName}Begin() {\n        return $!{column.columnPropertyName}Begin;\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName}Begin $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}Begin(String $!{column.columnPropertyName}Begin) {\n        this.$!{column.columnPropertyName}Begin = $!{column.columnPropertyName}Begin;\n    }\n\n    /**\n     * 获取$!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     * @return $!{column.columnNameCH}\n     */\n    public String get$!{column.columnMethodName}End() {\n        return $!{column.columnPropertyName}End;\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName}End $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}End(String $!{column.columnPropertyName}End) {\n        this.$!{column.columnPropertyName}End = $!{column.columnPropertyName}End;\n    }\n\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n    /**\n     * 获取$!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}Like() {\n        return $!{column.columnPropertyName}Like;\n    }\n    /**\n     * 设置$!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     * @param $!{column.columnPropertyName}Like $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}Like($!{column.javaType} $!{column.columnPropertyName}Like) {\n        this.$!{column.columnPropertyName}Like = $!{column.columnPropertyName}Like;\n    }\n\n#else\n    /**\n     * 获取$!{column.columnNameCH}\n     * @return $!{column.columnNameCH}\n     */\n    public $!{column.javaType} get$!{column.columnMethodName}() {\n        return $!{column.columnPropertyName};\n    }\n\n    /**\n     * 设置$!{column.columnNameCH}\n     * @param $!{column.columnPropertyName} $!{column.columnNameCH}\n     */\n    public void set$!{column.columnMethodName}($!{column.javaType} $!{column.columnPropertyName}) {\n        this.$!{column.columnPropertyName} = $!{column.columnPropertyName};\n    }\n#end\n#end\n}', 'domain', '.java', 9, '顺义数据同步', '2021-11-02 18:20:32', '刘小平', '2021-11-02 18:20:32', '刘小平', 0);
INSERT INTO generator_config_template VALUES (72, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n        <id column=\"$!{pkColumn.columnNameEN}\" property=\"$!{pkColumn.columnPropertyName}\" jdbcType=\"$!{pkColumn.jdbcType}\" />       <!-- $!{pkColumn.columnNameCH} -->\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n        <result column=\"$!{effectiveFlagColumn.columnNameEN}\" property=\"$!{effectiveFlagColumn.columnPropertyName}\" jdbcType=\"$!{effectiveFlagColumn.jdbcType}\" />       <!-- $!{effectiveFlagColumn.columnNameCH} -->\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n        $!{pkColumn.columnNameEN},       /* $!{pkColumn.columnNameCH} */\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n        $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            <if test=\"$!{pkColumn.columnPropertyName} != null\">\n                AND $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=BIGINT}	/* $!{pkColumn.columnNameCH} */\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Min != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} > #{$!{pkColumn.columnPropertyName}Min, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}大于某值*/\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Max != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} < #{$!{pkColumn.columnPropertyName}Max, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}小于某值 */\n            </if>\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 排序 -->\n    <sql id=\"sortClause\">\n        <if test=\"_sort != null\">\n            ORDER BY\n            <foreach collection=\"_sort\" item=\"item\" index=\"index\" separator=\",\">\n                <choose>\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{pkColumn.columnPropertyName}\'\">\n                        $!{pkColumn.columnNameEN}    /* $!{pkColumn.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#foreach(${column} in ${columns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n#foreach(${column} in ${extFlagColumns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n                    <otherwise>update_time DESC</otherwise>\n                </choose>\n            </foreach>\n        </if>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n            #{$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n                #{item.$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键删除 -->\n    <update id=\"deleteByPrimaryKey\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量删除 -->\n    <update id=\"batchDeleteByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} in    /* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"ids\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n                AND $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n            AND $!{effectiveFlagColumn.columnNameEN} = 0			/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n            AND $!{effectiveFlagColumn.columnNameEN} = 0	/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"sortClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.mysql', 'Mapper.xml', 10, '郑州绩效', '2021-11-17 20:31:49', '刘小平', '2021-12-16 14:39:18', '刘小平', 1);
INSERT INTO generator_config_template VALUES (73, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n        <id column=\"$!{pkColumn.columnNameEN}\" property=\"$!{pkColumn.columnPropertyName}\" jdbcType=\"$!{pkColumn.jdbcType}\" />       <!-- $!{pkColumn.columnNameCH} -->\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n        <result column=\"$!{effectiveFlagColumn.columnNameEN}\" property=\"$!{effectiveFlagColumn.columnPropertyName}\" jdbcType=\"$!{effectiveFlagColumn.jdbcType}\" />       <!-- $!{effectiveFlagColumn.columnNameCH} -->\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n        $!{pkColumn.columnNameEN},       /* $!{pkColumn.columnNameCH} */\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n        $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            <if test=\"$!{pkColumn.columnPropertyName} != null\">\n                AND $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=BIGINT}	/* $!{pkColumn.columnNameCH} */\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Min != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} > #{$!{pkColumn.columnPropertyName}Min, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}大于某值*/\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Max != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} < #{$!{pkColumn.columnPropertyName}Max, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}小于某值 */\n            </if>\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 排序 -->\n    <sql id=\"sortClause\">\n        <if test=\"_sort != null\">\n            ORDER BY\n            <foreach collection=\"_sort\" item=\"item\" index=\"index\" separator=\",\">\n                <choose>\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{pkColumn.columnPropertyName}\'\">\n                        $!{pkColumn.columnNameEN}    /* $!{pkColumn.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#foreach(${column} in ${columns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n#foreach(${column} in ${extFlagColumns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n                    <otherwise>update_time DESC</otherwise>\n                </choose>\n            </foreach>\n        </if>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n            #{$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n                #{item.$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键删除 -->\n    <update id=\"deleteByPrimaryKey\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量删除 -->\n    <update id=\"batchDeleteByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} in    /* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"ids\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n                AND $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n            AND $!{effectiveFlagColumn.columnNameEN} = 0			/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n            AND $!{effectiveFlagColumn.columnNameEN} = 0	/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"sortClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.mysql', 'Mapper.xml', 11, '郑州绩效的拷贝', '2021-12-16 14:33:27', '刘小平', '2021-12-16 14:33:57', '刘小平', 1);
INSERT INTO generator_config_template VALUES (74, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n        <id column=\"$!{pkColumn.columnNameEN}\" property=\"$!{pkColumn.columnPropertyName}\" jdbcType=\"$!{pkColumn.jdbcType}\" />       <!-- $!{pkColumn.columnNameCH} -->\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n        <result column=\"$!{effectiveFlagColumn.columnNameEN}\" property=\"$!{effectiveFlagColumn.columnPropertyName}\" jdbcType=\"$!{effectiveFlagColumn.jdbcType}\" />       <!-- $!{effectiveFlagColumn.columnNameCH} -->\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n        $!{pkColumn.columnNameEN},       /* $!{pkColumn.columnNameCH} */\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n        $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            <if test=\"$!{pkColumn.columnPropertyName} != null\">\n                AND $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=BIGINT}	/* $!{pkColumn.columnNameCH} */\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Min != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} > #{$!{pkColumn.columnPropertyName}Min, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}大于某值*/\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Max != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} < #{$!{pkColumn.columnPropertyName}Max, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}小于某值 */\n            </if>\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 排序 -->\n    <sql id=\"sortClause\">\n        <if test=\"_sort != null\">\n            ORDER BY\n            <foreach collection=\"_sort\" item=\"item\" index=\"index\" separator=\",\">\n                <choose>\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{pkColumn.columnPropertyName}\'\">\n                        $!{pkColumn.columnNameEN}    /* $!{pkColumn.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#foreach(${column} in ${columns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n#foreach(${column} in ${extFlagColumns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n                    <otherwise>update_time DESC</otherwise>\n                </choose>\n            </foreach>\n        </if>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n            #{$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n                #{item.$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键删除 -->\n    <update id=\"deleteByPrimaryKey\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量删除 -->\n    <update id=\"batchDeleteByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} in    /* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"ids\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n                AND $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n            AND $!{effectiveFlagColumn.columnNameEN} = 0			/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n            AND $!{effectiveFlagColumn.columnNameEN} = 0	/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"sortClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.mysql', 'Mapper.xml', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (75, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.dao.IDao;\n\n/**\n * $!{tableNameCH}Dao层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Dao extends IDao{\n\n}', 'dao', 'Dao.java', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (76, 'daoImplTemplate', 'Dao层服务实现类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.common.dao.AbstractDao;\nimport org.springframework.stereotype.Repository;\n\n/**\n * $!{tableNameCH}Dao层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Repository\npublic class $!{tableClassNameEN}DaoImpl extends AbstractDao implements $!{tableClassNameEN}Dao {\n\n}', 'dao.impl', 'DaoImpl.java', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (77, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.service.IService;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends IService{\n\n}', 'service', 'Service.java', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (78, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.common.service.AbstractService;\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractService implements $!{tableClassNameEN}Service {\n\n    @Autowired\n    public void setDao($!{tableClassNameEN}Dao dao) {this.iDao = dao;}\n\n}', 'service.impl', 'ServiceImpl.java', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (79, 'domainTemplate', '实体类模板', 'package $!{packagePath}.domain.model.$!{tablePrefixLowerCase};\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport lombok.Getter;\nimport lombok.Setter;\nimport $!{packagePath}.domain.Transient;\n\nimport $!{packagePath}.domain.model.AbstractEntity;\n\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\npublic class $!{tableClassNameEN} extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * $!{column.columnNameCH}\n     */\n    @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd HH:mm:ss\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}Begin;\n    /**\n     * $!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}End;\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     */\n    @Transient\n    private $!{column.javaType} $!{column.columnPropertyName}Like;\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n}', 'domain', '.java', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 15:00:21', '刘小平', 0);
INSERT INTO generator_config_template VALUES (80, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.controller.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.controller.BaseController;\nimport $!{packagePath}.domain.model.Page;\nimport $!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN};\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\npublic class $!{tableClassNameEN}Controller extends BaseController{\n\n    /**\n     * $!{tableNameCH}Service接口\n     */\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @param pageNum 当前页码\n     * @param pageSize 每页显示条数\n     * @param sortName 排序字段\n     * @param sortOrder 排序方式\n     * @return Page<$!{tableClassNameEN}> 分页列表\n     */\n    @RequestMapping(value = \"/selectPage\", method = RequestMethod.POST)\n    @ResponseBody\n    public Page<$!{tableClassNameEN}> selectPage($!{tableClassNameEN} $!{tablePropertyNameEN},\n            @RequestParam(value = \"page\", required = false, defaultValue = \"1\") int pageNum,\n            @RequestParam(value = \"rows\", required = false, defaultValue = \"20\") int pageSize,\n            @RequestParam(value = \"sidx\", required = false, defaultValue = \"ts\") String sortName,\n            @RequestParam(value = \"sord\", required = false, defaultValue = \"desc\") String sortOrder) {\n\n        Page<$!{tableClassNameEN}> page = buildPage($!{tablePropertyNameEN}, pageNum,pageSize,sortName,sortOrder);\n        // 执行查询\n        return $!{tablePropertyNameEN}Service.selectPage(page);\n    }\n\n    /**\n     * 根据条件查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return $!{tableNameCH}列表\n    */\n    @RequestMapping(value = \"/selectList\", method = RequestMethod.POST)\n    @ResponseBody\n    public List<$!{tableClassNameEN}> selectList($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        return $!{tablePropertyNameEN}Service.selectList($!{tablePropertyNameEN});\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/selectOne\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} selectOne($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n\n        return $!{tablePropertyNameEN}Service.selectOne($!{pkColumn.columnPropertyName});\n    }\n\n    /**\n     * 保存数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/insert\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} insert($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        // 执行插入，返回已设置主键的数据实体\n        return $!{tablePropertyNameEN}Service.insert($!{tablePropertyNameEN},getAccount().getUserName());\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean update($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行更新\n        int rows = $!{tablePropertyNameEN}Service.update($!{tablePropertyNameEN},getAccount().getUserName());\n        return rows > 0;\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean delete($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n        // 执行逻辑删除\n        int rows = $!{tablePropertyNameEN}Service.delete($!{pkColumn.columnPropertyName},getAccount().getUserName());\n        return rows > 0;\n    }\n\n}', 'controller', 'Controller.java', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (81, 'htmlListTemplate', 'html列表页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">查询条件</div>\n            <div class=\"card-body card-body-bottom\">\n                <form id=\"searchForm\">\n                    <div class=\"row\">\n#foreach(${column} in ${columns})\n                        <div class=\"col-12 col-lg-6 col-xl-3\">\n                            <div class=\"input-group input-group-sm mb-3\">\n#if($!{column.javaType}  == \"Date\")\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}Like\">\n#else\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#end\n                            </div>\n                        </div>\n#end\n                    </div>\n                </form>\n            </div>\n            <div class=\"card-footer card-footer-contrast text-muted card-footer-small\">\n                <button class=\"btn btn-space btn-primary\" id=\"btnQuery\">查 询</button>\n                <button class=\"btn btn-space btn-secondary\" id=\"btnReset\">清 空</button>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">\n                <a class=\"btn btn-space btn-primary\" href=\"#biz$!{htmlPath}/$!{htmlFileName}add\">\n                    <i class=\"fa fa-plus\"></i>\n                    <span class=\"bigger-110\">新增</span>\n                </a>\n            </div>\n            <div class=\"card-body\">\n                <table id=\"gridTable\"></table>\n                <div id=\"gridPager\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}list.js\"></script>', 'html', 'list.html', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (82, 'htmlEditTemplate', 'html修改页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">修改</span></div>\n                <div class=\"card-body\">\n                    <form id=\"editForm\">\n                        <input id=\"$!{pkColumn.columnPropertyName}\" name=\"$!{pkColumn.columnPropertyName}\" style=\"display:none;\"/>\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}edit.js\"></script>', 'html', 'edit.html', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (83, 'htmlAddTemplate', 'html新增页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">新增</span></div>\n                <div class=\"card-body\">\n                    <form id=\"addForm\">\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}add.js\"></script>', 'html', 'add.html', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (84, 'jsListTemplate', 'js列表页模板', '// 定义page变量\nvar page = {\n    // 方法集合\n    fn:{\n        // 跳转到修改页面\n        openEditPage : function (id) {\n            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}edit?id=\"+id;\n        },\n        // 根据ID删除数据\n        deleteById : function (id) {\n            jQuery.alicej.util.bootbox.showConfirm(\"是否删除该记录？\",function(){\n                jQuery.ajax({\n                    type: \"POST\",\n                    url: \'/web$!{htmlPath}/delete\',\n                    data : {$!{pkColumn.columnPropertyName}:id},\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"删除成功！\",function (){\n                            page.obj.gridTable.trigger(\"reloadGrid\");\n                        });\n                    }\n                });\n            });\n        }\n    },\n    // 对象集合\n    obj:{}\n};\n\njQuery(function(){\n\n    // 初始化jqGrid\n    page.obj.gridTable = $(\"#gridTable\");\n\n    page.obj.gridTable.jqGrid({\n        mtype:\"POST\",\n        url: \"/web$!{htmlPath}/selectPage\",\n        datatype: \"json\",\n        autowidth: true,\n        height: \"auto\",\n        colModel:[\n            {name:\'$!{pkColumn.columnPropertyName}\',label:\'$!{pkColumn.columnNameCH}\', index:\'$!{pkColumn.columnPropertyName}\', sortable:false, hidden:true},\n#foreach(${column} in ${columns})\n            {name:\'$!{column.columnPropertyName}\',label:\'$!{column.columnNameCH}\', index:\'$!{column.columnPropertyName}\', sortable:true},\n#end\n            {name:\'\', label:\'操作\', index:\'\', width:100, fixed:true, sortable:false, resize:false,\n                formatter:function(cellValue,options,rowObject){\n                    var context = \"\";\n                    context += \'<button class=\"btn btn-xs btn-info\" onclick=\"page.fn.openEditPage(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-pencil-square-o bigger-120\"></i></button> \';\n                    context += \'<button class=\"btn btn-xs btn-danger\" onclick=\"page.fn.deleteById(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-trash-o bigger-120\"></i></button> \';\n                    return context;\n                }\n            }\n        ],\n        viewrecords : true,\n        rowNum:10,\n        rowList:[10,20,50],\n        sortname:\"updateTime\",\n        sortorder:\"desc\",\n        altRows: true,\n        pager : \"#gridPager\",\n        jsonReader: { //server返回Json解析设定\n            root: \"content\", //对于json中数据列表\n            page: \"pageNum\",\n            total: \"total\",\n            records: \"records\"\n        },\n        loadComplete:function () {\n            page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n        }\n    });\n\n    // 重置数据列表宽度\n    $(window).resize(function(){\n        page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n    });\n\n    /**\n    * 查询\n    */\n    $(\"#btnQuery\").click(function(){\n\n        // 取得查询参数\n        var gridParam = {\n            url: \"/web$!{htmlPath}/selectPage\",\n            postData:jQuery.alicej.util.serialize(\"#searchForm\"),\n            page:1\n        };\n\n        page.obj.gridTable.jqGrid(\"setGridParam\", gridParam).trigger(\"reloadGrid\");\n    });\n\n    /**\n    * 重置输入框\n    */\n    $(\"#btnReset\").click(function () {\n        var searchForm = $(\"#searchForm\");\n        searchForm.find(\"input\").val(\"\");\n        searchForm.find(\"select\").val(\"\");\n    });\n\n});', 'html', 'list.js', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (85, 'jsEditTemplate', 'js修改页模板', '$(function () {\n\n    // 取得待修改的数据\n    jQuery.alicej.util.ajax({\n        type: \"POST\",\n        url: \'/web$!{htmlPath}/selectOne\',\n        data : {$!{pkColumn.columnPropertyName}:jQuery.alicej.util.getUrlParam(\"id\")},\n        dataType:\'json\',\n        success: function(rsp){\n            $(\"#$!{pkColumn.columnPropertyName}\").val(rsp.$!{pkColumn.columnPropertyName});\n#foreach(${column} in ${columns})\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#end\n\n            // Select2\n            $(\".select2\").select2({\n                width: \'100%\',\n                placeholder: \'请选择\',\n                minimumResultsForSearch: Infinity // 隐藏搜索框\n            });\n        }\n    });\n\n    // 初始化表单验证\n    $(\'#editForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n                msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        // 进行表单输入验证\n        jQuery(\"#editForm\").isValid(function(isValid){\n            if(isValid){\n                jQuery.alicej.util.ajax({\n                    type: \"POST\",\n                    url: \'web$!{htmlPath}/update\',\n                    data : jQuery.alicej.util.serialize(\"#editForm\"),\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n\n});', 'html', 'edit.js', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (86, 'jsAddTemplate', 'js新增页模板', '$(function () {\n\n    // Select2\n    $(\".select2\").select2({\n        width: \'100%\',\n        placeholder: \'请选择\',\n        minimumResultsForSearch: Infinity // 隐藏搜索框\n    });\n\n    // 初始化表单验证\n    $(\'#addForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n            msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        $(\"#addForm\").isValid(function(isValid){\n        if(isValid){\n            jQuery.alicej.util.ajax({\n            type: \"POST\",\n                url: \'/web$!{htmlPath}/insert\',\n                data : jQuery.alicej.util.serialize(\"#addForm\"),\n                dataType:\'json\',\n                success: function(rsp){\n                    jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                        window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n});', 'html', 'add.js', 12, 'ALICE CODECREATOR的拷贝', '2021-12-16 14:37:03', '刘小平', '2021-12-16 14:37:03', '刘小平', 0);
INSERT INTO generator_config_template VALUES (87, 'insertSql', '插入语句', '#foreach($med in [1..10])\n#foreach($year in [2018..2021])\n#foreach($month in [1..12])\nINSERT INTO $!{tablePrefix}$!{tableNameEN} ( med_code, med_name, med_short_name, med_type, year_code, month_code, org_code, org_name, med_grade #foreach(${column} in ${columns}) #if($!{column.javaType}==\"BigDecimal\"),$!{column.columnNameEN} #end #end)\nVALUES(\'med_code_${med}\',\'医疗机构_${med}\',\'简称_${med}\',1,${year}, #if($month<10) CONCAT( \'0\', ${month}) #else ${month} #end, #if($med<6) \'org_code_1\',\'卫健委1\' #else \'org_code_2\',\'卫健委2\' #end,${med} #foreach(${column} in ${columns}) #if($!{column.javaType}==\"BigDecimal\") ,floor(rand() * 100) #end #end );\n#end\n#end\n#end', 'sql', '.sql', 13, '龙岗报表数据生成的拷贝', '2021-12-16 15:56:01', '刘小平', '2021-12-16 15:56:17', '刘小平', 1);
INSERT INTO generator_config_template VALUES (88, 'sqlMapperTemplate', 'SqlMapper模板', '<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n	\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<!-- $!{tableNameCH}SQL author by $!{author} -->\n<mapper namespace=\"$!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao\" >\n    <!-- 映射关系 -->\n    <resultMap id=\"resultMap\" type=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" >\n        <id column=\"$!{pkColumn.columnNameEN}\" property=\"$!{pkColumn.columnPropertyName}\" jdbcType=\"$!{pkColumn.jdbcType}\" />       <!-- $!{pkColumn.columnNameCH} -->\n#foreach(${column} in ${columns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n#foreach(${column} in ${extFlagColumns})\n        <result column=\"$!{column.columnNameEN}\" property=\"$!{column.columnPropertyName}\" jdbcType=\"$!{column.jdbcType}\" />       <!-- $!{column.columnNameCH} -->\n#end\n        <result column=\"$!{effectiveFlagColumn.columnNameEN}\" property=\"$!{effectiveFlagColumn.columnPropertyName}\" jdbcType=\"$!{effectiveFlagColumn.jdbcType}\" />       <!-- $!{effectiveFlagColumn.columnNameCH} -->\n    </resultMap>\n\n    <!-- 查询列 -->\n    <sql id=\"queryColumns\">\n        $!{pkColumn.columnNameEN},       /* $!{pkColumn.columnNameCH} */\n#foreach(${column} in ${columns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n        $!{column.columnNameEN},       /* $!{column.columnNameCH} */\n#end\n        $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n    </sql>\n\n    <!-- 查询条件 -->\n    <sql id=\"queryClause\">\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            <if test=\"$!{pkColumn.columnPropertyName} != null\">\n                AND $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=BIGINT}	/* $!{pkColumn.columnNameCH} */\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Min != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} > #{$!{pkColumn.columnPropertyName}Min, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}大于某值*/\n            </if>\n            <if test=\"$!{pkColumn.columnPropertyName}Max != null\">\n                <![CDATA[ AND $!{pkColumn.columnNameEN} < #{$!{pkColumn.columnPropertyName}Max, jdbcType=BIGINT} ]]>	/* $!{pkColumn.columnNameCH}小于某值 */\n            </if>\n#foreach(${column} in ${columns})\n#if($!{column.javaType}==\"String\")\n#if($!{column.likeFlag} == true)\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n            <if test=\"$!{column.columnPropertyName}Like != null and $!{column.columnPropertyName}Like != \'\'\" >\n                AND $!{column.columnNameEN} LIKE concat(\'%\', #{$!{column.columnPropertyName}Like,jdbcType=$!{column.jdbcType}},\'%\')       /* $!{column.columnNameCH} */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.javaType}==\"String\")\n            <if test=\"$!{column.columnPropertyName} != null and $!{column.columnPropertyName} != \'\'\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#elseif($!{column.javaType}==\"Date\")\n            <if test=\"$!{column.columnPropertyName}Begin != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} >= #{$!{column.columnPropertyName}Begin,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/起 */\n            </if>\n            <if test=\"$!{column.columnPropertyName}End != null\" >\n                <![CDATA[ AND $!{column.columnNameEN} <= #{$!{column.columnPropertyName}End,jdbcType=$!{column.jdbcType}} ]]>       /* $!{column.columnNameCH}/止 */\n            </if>\n#else\n            <if test=\"$!{column.columnPropertyName} != null\" >\n                AND $!{column.columnNameEN} = #{$!{column.columnPropertyName},jdbcType=$!{column.jdbcType}}       /* $!{column.columnNameCH} */\n            </if>\n#end\n#end\n        </where>\n    </sql>\n\n    <!-- 排序 -->\n    <sql id=\"sortClause\">\n        <if test=\"_sort != null\">\n            ORDER BY\n            <foreach collection=\"_sort\" item=\"item\" index=\"index\" separator=\",\">\n                <choose>\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{pkColumn.columnPropertyName}\'\">\n                        $!{pkColumn.columnNameEN}    /* $!{pkColumn.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#foreach(${column} in ${columns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n#foreach(${column} in ${extFlagColumns})\n                    <when test=\"item.propertyName != null and item.propertyName == \'$!{column.columnPropertyName}\'\">\n                        $!{column.columnNameEN}    /* $!{column.columnNameCH} */\n                        <choose>\n                            <when test=\"item.ascending\">ASC</when>\n                            <otherwise>DESC</otherwise>\n                        </choose>\n                    </when>\n#end\n                    <otherwise>update_time DESC</otherwise>\n                </choose>\n            </foreach>\n        </if>\n    </sql>\n\n    <!-- 分页 -->\n    <sql id=\"pageClause\">\n        <if test=\"_page != null\">\n            limit #{_page.offset, jdbcType=INTEGER}, #{_page.limit, jdbcType=INTEGER}\n        </if>\n    </sql>\n\n    <!-- 插入数据 -->\n    <insert id=\"insert\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES(\n#foreach(${column} in ${columns})\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n            #{$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n        )\n    </insert>\n\n    <!-- 批量插入数据 -->\n    <insert id=\"batchInsert\" parameterType=\"java.util.List\" keyProperty=\"id\" useGeneratedKeys=\"true\">\n        INSERT INTO $!{tablePrefix}$!{tableNameEN} (\n#foreach(${column} in ${columns})\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n            $!{column.columnNameEN},                      /* $!{column.columnNameCH} */\n#end\n#end\n            $!{effectiveFlagColumn.columnNameEN}       /* $!{effectiveFlagColumn.columnNameCH} */\n        )VALUES\n        <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">\n            (\n#foreach(${column} in ${columns})\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                #{item.$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},                 /* $!{column.columnNameCH} */\n#end\n#end\n                #{item.$!{effectiveFlagColumn.columnPropertyName}, jdbcType=$!{effectiveFlagColumn.jdbcType}}                 /* $!{effectiveFlagColumn.columnNameCH} */\n            )\n        </foreach>\n    </insert>\n\n    <!-- 按主键更新 -->\n    <update id=\"updateByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n#foreach(${column} in ${columns})\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnNameEN}!=\"ts\")\n                <if test=\"$!{column.columnPropertyName} != null\">\n                    $!{column.columnNameEN} = #{$!{column.columnPropertyName}, jdbcType=$!{column.jdbcType}},    /* $!{column.columnNameCH} */\n                </if>\n#end\n#end\n                    $!{effectiveFlagColumn.columnNameEN} = 0       /* $!{effectiveFlagColumn.columnNameCH} */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键删除 -->\n    <update id=\"deleteByPrimaryKey\" parameterType=\"$!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN}\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n                AND $!{effectiveFlagColumn.columnNameEN} = 0		/* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量删除 -->\n    <update id=\"batchDeleteByPrimaryKey\" parameterType=\"java.util.Map\">\n        <if test=\"_parameter != null\">\n            UPDATE $!{tablePrefix}$!{tableNameEN}\n            <set>\n                $!{effectiveFlagColumn.columnNameEN} = 1,    /* $!{effectiveFlagColumn.columnNameCH} */\n                update_user = #{updateUser, jdbcType=VARCHAR},	/* 修改人 */\n                update_time = #{updateTime, jdbcType=TIMESTAMP}	/* 修改时间 */\n            </set>\n            <where>\n                $!{pkColumn.columnNameEN} in    /* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"ids\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n                AND $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n            </where>\n        </if>\n    </update>\n\n    <!-- 按主键批量物理删除，慎用 -->\n    <delete id=\"batchDeleteByPrimaryKeyPhysically\" parameterType=\"java.util.List\">\n        <if test=\"_parameter != null\">\n            DELETE FROM $!{tablePrefix}$!{tableNameEN}\n            <where>\n                $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n                <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                    #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n                </foreach>\n            </where>\n        </if>\n    </delete>\n\n    <!-- 查询所有记录 -->\n    <select id=\"selectAll\" resultMap=\"resultMap\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{effectiveFlagColumn.columnNameEN} = 0    /* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键查询 -->\n    <select id=\"selectByPrimaryKey\" resultMap=\"resultMap\" parameterType=\"java.lang.Long\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} = #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}	/* $!{pkColumn.columnNameCH} */\n            AND $!{effectiveFlagColumn.columnNameEN} = 0			/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按主键集合查询 -->\n    <select id=\"selectByPrimaryKeys\" resultMap=\"resultMap\" parameterType=\"java.util.List\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <where>\n            $!{pkColumn.columnNameEN} in	/* $!{pkColumn.columnNameCH}集合 */\n            <foreach collection=\"list\" item=\"$!{pkColumn.columnPropertyName}\" open=\"(\" separator=\",\" close=\")\">\n                #{$!{pkColumn.columnPropertyName}, jdbcType=$!{pkColumn.jdbcType}}\n            </foreach>\n            AND $!{effectiveFlagColumn.columnNameEN} = 0	/* $!{effectiveFlagColumn.columnNameCH} */\n        </where>\n    </select>\n\n    <!-- 按条件查询 -->\n    <select id=\"selectByCondition\" resultMap=\"resultMap\" parameterType=\"java.util.Map\">\n        SELECT\n        <include refid=\"queryColumns\"/>\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n        <include refid=\"sortClause\"/>\n        <include refid=\"pageClause\"/>\n    </select>\n\n    <!-- 按条件统计记录数 -->\n    <select id=\"countByCondition\" resultType=\"java.lang.Long\" parameterType=\"java.util.Map\">\n        SELECT\n        COUNT(1)\n        FROM\n        $!{tablePrefix}$!{tableNameEN}\n        <include refid=\"queryClause\"/>\n    </select>\n\n</mapper>', 'mappers.mysql', 'Mapper.xml', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (89, 'daoTemplate', 'Dao层服务接口类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.dao.IDao;\n\n/**\n * $!{tableNameCH}Dao层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Dao extends IDao{\n\n}', 'dao', 'Dao.java', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (90, 'daoImplTemplate', 'Dao层服务实现类模板', 'package $!{packagePath}.dao.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.common.dao.AbstractDao;\nimport org.springframework.stereotype.Repository;\n\n/**\n * $!{tableNameCH}Dao层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Repository\npublic class $!{tableClassNameEN}DaoImpl extends AbstractDao implements $!{tableClassNameEN}Dao {\n\n}', 'dao.impl', 'DaoImpl.java', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (91, 'serviceTemplate', 'Service层服务接口类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.common.service.IService;\n\n/**\n * $!{tableNameCH}Service层接口类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\npublic interface $!{tableClassNameEN}Service extends IService{\n\n}', 'service', 'Service.java', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (92, 'serviceImplTemplate', 'Service层服务实现类模板', 'package $!{packagePath}.service.$!{tablePrefixLowerCase}.impl;\n\nimport $!{packagePath}.common.service.AbstractService;\nimport $!{packagePath}.dao.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Dao;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n/**\n * $!{tableNameCH}Service层实现类\n * User: $!{author}\n * DateTime: $!{dateTime}\n **/\n@Service\npublic class $!{tableClassNameEN}ServiceImpl extends AbstractService implements $!{tableClassNameEN}Service {\n\n    @Autowired\n    public void setDao($!{tableClassNameEN}Dao dao) {this.iDao = dao;}\n\n}', 'service.impl', 'ServiceImpl.java', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (93, 'domainTemplate', '实体类模板', 'package $!{packagePath}.domain.model.$!{tablePrefixLowerCase};\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport lombok.Getter;\nimport lombok.Setter;\nimport $!{packagePath}.domain.Transient;\n\nimport $!{packagePath}.domain.model.AbstractEntity;\n\nimport java.math.BigDecimal;\nimport java.util.Date;\n\n/**\n * $!{tableNameCH}Domain\n * User: $!{author}\n * Date: $!{dateTime}\n **/\n@Setter\n@Getter\npublic class $!{tableClassNameEN} extends AbstractEntity{\n\n#foreach(${column} in ${columns})\n#if($!{column.javaType}  == \"Date\")\n    /**\n     * $!{column.columnNameCH}\n     */\n    @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd HH:mm:ss\")\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}/起(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}Begin;\n    /**\n     * $!{column.columnNameCH}/止(虚拟字段：用于时间段查询)\n     */\n    @Transient\n    private String $!{column.columnPropertyName}End;\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n    /**\n     * $!{column.columnNameCH}(虚拟字段：用于模糊查询)\n     */\n    @Transient\n    private $!{column.javaType} $!{column.columnPropertyName}Like;\n#else\n    /**\n     * $!{column.columnNameCH}\n     */\n    private $!{column.javaType} $!{column.columnPropertyName};\n#end\n#end\n\n}', 'domain', '.java', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (94, 'controllerTemplate', 'controller模板', 'package $!{packagePath}.controller.$!{tablePrefixLowerCase};\n\nimport $!{packagePath}.controller.BaseController;\nimport $!{packagePath}.domain.model.Page;\nimport $!{packagePath}.domain.model.$!{tablePrefixLowerCase}.$!{tableClassNameEN};\nimport org.springframework.stereotype.Controller;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestMethod;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.ResponseBody;\nimport $!{packagePath}.service.$!{tablePrefixLowerCase}.$!{tableClassNameEN}Service;\n\nimport javax.annotation.Resource;\nimport java.util.List;\n\n/**\n * $!{tableNameCH}Controller\n * User: $!{author}\n * DateTime: $!{dateTime}\n */\n@Controller\n@RequestMapping(\"/web$!{htmlPath}\")\npublic class $!{tableClassNameEN}Controller extends BaseController{\n\n    /**\n     * $!{tableNameCH}Service接口\n     */\n    @Resource\n    private $!{tableClassNameEN}Service $!{tablePropertyNameEN}Service;\n\n    /**\n     * 根据条件分页查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @param pageNum 当前页码\n     * @param pageSize 每页显示条数\n     * @param sortName 排序字段\n     * @param sortOrder 排序方式\n     * @return Page<$!{tableClassNameEN}> 分页列表\n     */\n    @RequestMapping(value = \"/selectPage\", method = RequestMethod.POST)\n    @ResponseBody\n    public Page<$!{tableClassNameEN}> selectPage($!{tableClassNameEN} $!{tablePropertyNameEN},\n            @RequestParam(value = \"page\", required = false, defaultValue = \"1\") int pageNum,\n            @RequestParam(value = \"rows\", required = false, defaultValue = \"20\") int pageSize,\n            @RequestParam(value = \"sidx\", required = false, defaultValue = \"ts\") String sortName,\n            @RequestParam(value = \"sord\", required = false, defaultValue = \"desc\") String sortOrder) {\n\n        Page<$!{tableClassNameEN}> page = buildPage($!{tablePropertyNameEN}, pageNum,pageSize,sortName,sortOrder);\n        // 执行查询\n        return $!{tablePropertyNameEN}Service.selectPage(page);\n    }\n\n    /**\n     * 根据条件查询\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return $!{tableNameCH}列表\n    */\n    @RequestMapping(value = \"/selectList\", method = RequestMethod.POST)\n    @ResponseBody\n    public List<$!{tableClassNameEN}> selectList($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        return $!{tablePropertyNameEN}Service.selectList($!{tablePropertyNameEN});\n    }\n\n    /**\n     * 根据主键查询\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return $!{tableNameCH}\n    */\n    @RequestMapping(value = \"/selectOne\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} selectOne($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n\n        return $!{tablePropertyNameEN}Service.selectOne($!{pkColumn.columnPropertyName});\n    }\n\n    /**\n     * 保存数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/insert\", method = RequestMethod.POST)\n    @ResponseBody\n    public $!{tableClassNameEN} insert($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n\n        // 执行插入，返回已设置主键的数据实体\n        return $!{tablePropertyNameEN}Service.insert($!{tablePropertyNameEN},getAccount().getUserName());\n    }\n\n    /**\n     * 修改数据\n     * @param $!{tablePropertyNameEN} $!{tableNameCH}数据实体\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/update\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean update($!{tableClassNameEN} $!{tablePropertyNameEN}) {\n        // 执行更新\n        int rows = $!{tablePropertyNameEN}Service.update($!{tablePropertyNameEN},getAccount().getUserName());\n        return rows > 0;\n    }\n\n    /**\n     * 逻辑删除数据\n     * @param $!{pkColumn.columnPropertyName} $!{pkColumn.columnNameCH}\n     * @return 执行结果\n     */\n    @RequestMapping(value = \"/delete\", method = RequestMethod.POST)\n    @ResponseBody\n    public Boolean delete($!{pkColumn.javaType} $!{pkColumn.columnPropertyName}) {\n        // 执行逻辑删除\n        int rows = $!{tablePropertyNameEN}Service.delete($!{pkColumn.columnPropertyName},getAccount().getUserName());\n        return rows > 0;\n    }\n\n}', 'controller', 'Controller.java', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (95, 'htmlListTemplate', 'html列表页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">查询条件</div>\n            <div class=\"card-body card-body-bottom\">\n                <form id=\"searchForm\">\n                    <div class=\"row\">\n#foreach(${column} in ${columns})\n                        <div class=\"col-12 col-lg-6 col-xl-3\">\n                            <div class=\"input-group input-group-sm mb-3\">\n#if($!{column.javaType}  == \"Date\")\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#elseif($!{column.javaType}==\"String\" and $!{column.likeFlag} == true)\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}Like\">\n#else\n                                <div class=\"input-group-prepend\">\n                                    <span class=\"input-group-text\">$!{column.columnNameCH}</span>\n                                </div>\n                                <input class=\"form-control\" type=\"text\" name=\"$!{column.columnPropertyName}\">\n#end\n                            </div>\n                        </div>\n#end\n                    </div>\n                </form>\n            </div>\n            <div class=\"card-footer card-footer-contrast text-muted card-footer-small\">\n                <button class=\"btn btn-space btn-primary\" id=\"btnQuery\">查 询</button>\n                <button class=\"btn btn-space btn-secondary\" id=\"btnReset\">清 空</button>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"col-lg-12\">\n        <div class=\"card card-contrast\">\n            <div class=\"card-header card-header-contrast card-header-featured card-header-small\">\n                <a class=\"btn btn-space btn-primary\" href=\"#biz$!{htmlPath}/$!{htmlFileName}add\">\n                    <i class=\"fa fa-plus\"></i>\n                    <span class=\"bigger-110\">新增</span>\n                </a>\n            </div>\n            <div class=\"card-body\">\n                <table id=\"gridTable\"></table>\n                <div id=\"gridPager\"></div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}list.js\"></script>', 'html', 'list.html', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (96, 'htmlEditTemplate', 'html修改页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">修改</span></div>\n                <div class=\"card-body\">\n                    <form id=\"editForm\">\n                        <input id=\"$!{pkColumn.columnPropertyName}\" name=\"$!{pkColumn.columnPropertyName}\" style=\"display:none;\"/>\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}edit.js\"></script>', 'html', 'edit.html', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (97, 'htmlAddTemplate', 'html新增页模板', '<div class=\"main-content container-fluid\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"card card-border-color card-border-color-primary\">\n                <div class=\"card-header card-header-divider\">$!{tableNameCH}<span class=\"card-subtitle\">新增</span></div>\n                <div class=\"card-body\">\n                    <form id=\"addForm\">\n#foreach(${column} in ${columns})\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <input class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\" type=\"text\">\n                            </div>\n                        </div>\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n                        <div class=\"form-group row\">\n                            <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"$!{column.columnPropertyName}\">$!{column.columnNameCH}</label>\n                            <div class=\"col-12 col-sm-8 col-lg-6\">\n                                <textarea class=\"form-control form-control-xs\" id=\"$!{column.columnPropertyName}\" name=\"$!{column.columnPropertyName}\"></textarea>\n                            </div>\n                        </div>\n#end\n#end\n                        <hr class=\"hr hr-32\"/>\n                        <p class=\"text-center\">\n                            <button id=\"btnSave\" class=\"btn btn-space btn-primary\" type=\"button\">\n                                <i class=\"fa fa-check bigger-110\"></i>\n                                保存\n                            </button>\n                            <button id=\"btnBack\" class=\"btn btn-space btn-secondary\" type=\"button\" onclick=\"history.back(-1);\">\n                                <i class=\"fa fa-undo bigger-110\"></i>\n                                返回\n                            </button>\n                        </p>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<script src=\"biz$!{htmlPath}/$!{htmlFileName}add.js\"></script>', 'html', 'add.html', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (98, 'jsListTemplate', 'js列表页模板', '// 定义page变量\nvar page = {\n    // 方法集合\n    fn:{\n        // 跳转到修改页面\n        openEditPage : function (id) {\n            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}edit?id=\"+id;\n        },\n        // 根据ID删除数据\n        deleteById : function (id) {\n            jQuery.alicej.util.bootbox.showConfirm(\"是否删除该记录？\",function(){\n                jQuery.ajax({\n                    type: \"POST\",\n                    url: \'/web$!{htmlPath}/delete\',\n                    data : {$!{pkColumn.columnPropertyName}:id},\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"删除成功！\",function (){\n                            page.obj.gridTable.trigger(\"reloadGrid\");\n                        });\n                    }\n                });\n            });\n        }\n    },\n    // 对象集合\n    obj:{}\n};\n\njQuery(function(){\n\n    // 初始化jqGrid\n    page.obj.gridTable = $(\"#gridTable\");\n\n    page.obj.gridTable.jqGrid({\n        mtype:\"POST\",\n        url: \"/web$!{htmlPath}/selectPage\",\n        datatype: \"json\",\n        autowidth: true,\n        height: \"auto\",\n        colModel:[\n            {name:\'$!{pkColumn.columnPropertyName}\',label:\'$!{pkColumn.columnNameCH}\', index:\'$!{pkColumn.columnPropertyName}\', sortable:false, hidden:true},\n#foreach(${column} in ${columns})\n            {name:\'$!{column.columnPropertyName}\',label:\'$!{column.columnNameCH}\', index:\'$!{column.columnPropertyName}\', sortable:true},\n#end\n            {name:\'\', label:\'操作\', index:\'\', width:100, fixed:true, sortable:false, resize:false,\n                formatter:function(cellValue,options,rowObject){\n                    var context = \"\";\n                    context += \'<button class=\"btn btn-xs btn-info\" onclick=\"page.fn.openEditPage(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-pencil-square-o bigger-120\"></i></button> \';\n                    context += \'<button class=\"btn btn-xs btn-danger\" onclick=\"page.fn.deleteById(\' + rowObject.$!{pkColumn.columnPropertyName} + \')\"><i class=\"ace-icon fa fa-trash-o bigger-120\"></i></button> \';\n                    return context;\n                }\n            }\n        ],\n        viewrecords : true,\n        rowNum:10,\n        rowList:[10,20,50],\n        sortname:\"updateTime\",\n        sortorder:\"desc\",\n        altRows: true,\n        pager : \"#gridPager\",\n        jsonReader: { //server返回Json解析设定\n            root: \"content\", //对于json中数据列表\n            page: \"pageNum\",\n            total: \"total\",\n            records: \"records\"\n        },\n        loadComplete:function () {\n            page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n        }\n    });\n\n    // 重置数据列表宽度\n    $(window).resize(function(){\n        page.obj.gridTable.setGridWidth(page.obj.gridTable.parents(\".card-body\").width(), false);\n    });\n\n    /**\n    * 查询\n    */\n    $(\"#btnQuery\").click(function(){\n\n        // 取得查询参数\n        var gridParam = {\n            url: \"/web$!{htmlPath}/selectPage\",\n            postData:jQuery.alicej.util.serialize(\"#searchForm\"),\n            page:1\n        };\n\n        page.obj.gridTable.jqGrid(\"setGridParam\", gridParam).trigger(\"reloadGrid\");\n    });\n\n    /**\n    * 重置输入框\n    */\n    $(\"#btnReset\").click(function () {\n        var searchForm = $(\"#searchForm\");\n        searchForm.find(\"input\").val(\"\");\n        searchForm.find(\"select\").val(\"\");\n    });\n\n});', 'html', 'list.js', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (99, 'jsEditTemplate', 'js修改页模板', '$(function () {\n\n    // 取得待修改的数据\n    jQuery.alicej.util.ajax({\n        type: \"POST\",\n        url: \'/web$!{htmlPath}/selectOne\',\n        data : {$!{pkColumn.columnPropertyName}:jQuery.alicej.util.getUrlParam(\"id\")},\n        dataType:\'json\',\n        success: function(rsp){\n            $(\"#$!{pkColumn.columnPropertyName}\").val(rsp.$!{pkColumn.columnPropertyName});\n#foreach(${column} in ${columns})\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#foreach(${column} in ${extFlagColumns})\n#if($!{column.columnPropertyName}  == \"remark\")\n            $(\"#$!{column.columnPropertyName}\").val(rsp.$!{column.columnPropertyName});\n#end\n#end\n\n            // Select2\n            $(\".select2\").select2({\n                width: \'100%\',\n                placeholder: \'请选择\',\n                minimumResultsForSearch: Infinity // 隐藏搜索框\n            });\n        }\n    });\n\n    // 初始化表单验证\n    $(\'#editForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n                msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        // 进行表单输入验证\n        jQuery(\"#editForm\").isValid(function(isValid){\n            if(isValid){\n                jQuery.alicej.util.ajax({\n                    type: \"POST\",\n                    url: \'web$!{htmlPath}/update\',\n                    data : jQuery.alicej.util.serialize(\"#editForm\"),\n                    dataType:\'json\',\n                    success: function(rsp){\n                        jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                            window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n\n});', 'html', 'edit.js', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
INSERT INTO generator_config_template VALUES (100, 'jsAddTemplate', 'js新增页模板', '$(function () {\n\n    // Select2\n    $(\".select2\").select2({\n        width: \'100%\',\n        placeholder: \'请选择\',\n        minimumResultsForSearch: Infinity // 隐藏搜索框\n    });\n\n    // 初始化表单验证\n    $(\'#addForm\').validator({\n        timely: 2,\n        theme:\'yellow_right\',\n        target: function(input) {\n            var formItem = $(input).closest(\'div.form-group\'),\n            msgBox = formItem.find(\'span.msg-box\');\n            if (!msgBox.length) {\n                msgBox = $(\'<span class=\"msg-box\"></span>\').appendTo(formItem);\n            }\n            return msgBox;\n        },\n        fields: {\n#foreach(${column} in ${columns})\n#if(!${column.isNullable})\n            \'$!{column.columnPropertyName}\': \'required\',\n#end\n#end\n        }\n    });\n\n    // 保存数据\n    $(\"#btnSave\").click(function(){\n        $(\"#addForm\").isValid(function(isValid){\n        if(isValid){\n            jQuery.alicej.util.ajax({\n            type: \"POST\",\n                url: \'/web$!{htmlPath}/insert\',\n                data : jQuery.alicej.util.serialize(\"#addForm\"),\n                dataType:\'json\',\n                success: function(rsp){\n                    jQuery.alicej.util.bootbox.alert(\"保存成功！\",function () {\n                        window.location.href = \"#biz$!{htmlPath}/$!{htmlFileName}list\";\n                        });\n                    }\n                });\n            }\n        });\n    });\n});', 'html', 'add.js', 14, '郑州nhc_platform的拷贝', '2022-01-10 14:25:15', '刘小平', '2022-01-10 14:25:29', '刘小平', 1);
